你知道,在updateOrCreate种方法中,我们通过了two parameters.first parameter用于check for a match,second参数携带需要为updated的数据.

但在我的场景中,我需要更新传递给第一个参数的相同数据.但是如果我在第二个参数中传递相同的参数,我就不能更新它.

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

推荐答案

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

您可能希望判断Illuminate\Database\Eloquent\Builder::updateOrCreate()方法,看看它是如何工作的.

阅读你的 comments ,你可以这样做:

YourModel::updateOrCreate(
    ['your_field' => 9],
    ['your_field' => 10]
);

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

Php相关问答推荐

Laravel 10查询中的多个where子句

自定义WooCommerce查询字符串仅显示前3个产品

如何使用ms graph php sdk v2列出具有已知路径的DriveItem的子项

MySQLi是否在事务错误时删除保存点(并且仅删除保存点)?

PHP:PHP手册-Manual

创建一个新的可变产品及其属性以用于WooCommerce中的变体

MULTI UPDATE Laravel为什么只能更新我的第一行

为什么只有最后一次点击的点赞/心形会按预期改变 colored颜色 ,而其他的保持正常 colored颜色 ?

无法在Laravel中将日志(log)通道设置为空

在WooCommerce存档页面中显示可变产品的库存变化属性

WooCommerce:如果订单总数为零,则隐藏本地取货运输选项

有没有办法获取触发流操作的页面的 URI?

调度程序不发送任何消息

Firefox 115 会话行为:为什么页面无法找到要加载的现有会话 ID?

Symfony:指定 data_class 时,提交的表单获取初始化前不得访问

PHP使用三元运算符进行null合并(再次)

如何在构建 PHP 类别数组树的递归函数中将父面包屑传递给子项?

同时执行odbc_execute、odbc_fetch_row和odbc_result

Symfony 6 中的入口点 (public/index.php) - 它是如何工作的?

标头内容类型:image/jpeg 无效