[英]Laravel DB table and eloquent method updateOrCreate
DB::table("mytable")->updateOrCreate([
'user_id' => $user_id,
'active' => 1,
'created_at' => Carbon::now()
]);
但是这段代码给我返回错误:
调用未定义的方法Illuminate \\ Database \\ Query \\ Builder :: updateOrCreate()
因此,根据此答案链接 (user stanb ),我添加了:
protected $table = 'mytable';
并更改代码: DB::table($this->table)->updateOrCreate([
...
但是我仍然有同样的错误
DB::table('table name')
->updateOrInsert(
['email' => 'admin@admin.com', 'name' => 'Admin'],
['id' => '7']
);
我不同意其他答案,我们可以使用查询生成器来插入或更新。
这是雄辩的方法,因此您需要使用模型。 另外,您需要传递两个数组作为参数:
Model::updateOrCreate([
'user_id' => $user_id
],
[
'active' => 1,
'created_at' => Carbon::now()
]);
在此的示例,如果有一条记录,其中user_id = $user_id
,该记录将被更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.