Laravel DB 表和 eloquent 方法 updateOrCreate

mic*_*hal 2 php laravel eloquent

    DB::table("mytable")->updateOrCreate([
      'user_id' => $user_id,
      'active' => 1,
      'created_at' => Carbon::now()
    ]);
Run Code Online (Sandbox Code Playgroud)

但是此代码返回错误:

调用未定义的方法 Illuminate\Database\Query\Builder::updateOrCreate()

因此,根据此答案链接(用户stanb),我添加了:

protected $table = 'mytable';
Run Code Online (Sandbox Code Playgroud)

并更改代码: DB::table($this->table)->updateOrCreate([...

但我仍然有同样的错误

Omk*_*zen 12

DB::table('table name')
->updateOrInsert(
    ['email' => 'admin@admin.com', 'name' => 'Admin'],
    ['id' => '7']
);
Run Code Online (Sandbox Code Playgroud)

我不同意另一个答案,我们可以使用查询构建器来插入或更新。

  • 感谢您提供了一个我们可以实际指定表格的示例。这是唯一适合我的例子。 (2认同)