为什么队列赋值时会出现两个 sql?

控制器代码如下:

// 创建机器人
$robot = Robot::firstOrCreate(['ruid' => request()->input('self_id')]);
// 消息队列
dispatch(new \App\Jobs\BindRobot(request()->all(), $robot))->onQueue('high');

队列代码如下:

class BindRobot implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    protected $robot;

    public function __construct($request, $robot)
    {
        $this->robot = $robot;
    }

    public  function  handle()
    {
    }
}

这是队列的 Queries:

为什么队列赋值时会出现两个 sql?

最上面那个 sql 为什么会出现?有没有办法去掉?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

处理失败重试次数?

2年前 评论
大胆的番茄 (楼主) 2年前

在本例中,请注意我们能够将一个 Eloquent model 直接传递到已排队任务的构造函数中。由于任务所使用的 SerializesModels ,在任务处理时,Eloquent 模型及其加载的关系将被优雅地序列化和非序列化。如果你的队列任务在其构造函数中接受一个 Eloquent 模型,那么只有模型的标识符才会被序列化到队列中。当实际处理任务时,队列系统将自动重新从数据库中获取完整的模型实例及其加载的关系。它对你的应用程序来说是完全透明的,并且可以防止在序列化完整的 Eloquent 模型实例时可能出现的问题。

2年前 评论
大胆的番茄 (楼主) 2年前
raybon 2年前
porygonCN 2年前
Rache1 2年前

请问,这个图片是什么工具看到的

2年前 评论
大胆的番茄 (楼主) 2年前
haodudecao (作者) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!