繁体   English   中英

Laravel DB表和雄辩的方法updateOrCreate

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM