当通过Webhooks收到有关更改的通知时,我正在使用Laravel的队列从API检索数据。 Webhook仅返回更改后的对象的ID,因此我需要向API请求以获取其余的信息。
我调度作业以通过id获取对象,该对象在后台运行(redis驱动程序,主管)。在队列中,我使用:
Model::firstOrNew(['remote_id' => $id]);
但是在->save()
上我收到了:
SQLSTATE [23000]:违反完整性约束:1062键'categories_type_remote_id_unique'的条目'tag-12'重复(SQL:插入
categories
...
如果我使用sync
驱动程序调试此代码,则无法重现此错误,它仅出现在后台作业中。就像该作业无法从数据库获取最新数据,而是使用new
的{{1}}部分而不是firstOrNew
答案 0 :(得分:0)
问题出在mysql上。 您正在输入重复的条目“ tag-12” 查找您定义为唯一的键。然后更改您的firstOrNew方法