Laravel update或创建方法 -- 更新您匹配的同一列



您知道,在updateOrCreate方法中,我们传递两个参数第一个参数用于检查匹配第二个参数携带需要更新的数据

但在我的场景中,我需要更新我在第一个参数中传递的相同数据。但如果我在第二个参数中传递相同的信息,我就无法更新它。

解决这个问题的办法是什么?

使用updateOrCreate方法,第二个参数是可选的,因此您可以忽略它。

您可能需要检查IlluminateDatabaseEloquentBuilder::updateOrCreate()方法,看看它是如何工作的。

阅读你的评论,你可以这样做:

YourModel::updateOrCreate(
['your_field' => 9],
['your_field' => 10]
);
// Or
YourModel::where('your_field', 9)->update(['your_field' => 10]);

最新更新