如何在 Laravel 5.4 中使用 firstor Create 中的位置



如何使用这样的代码:

$db = ModelName::firstOrCreate(['bot_id'=>10, 'bot_text'=>$botTxt->id])
->where('updated_at','<=', Carbon::today());

这无法正常工作。

正确的语法是:

ModelName::where('updated_at','<=', Carbon::today())
->firstOrCreate(['bot_id' => 10, 'bot_text' => $botTxt->id]);

此外,由于firstOrCreate()使用批量分配功能,请确保已在ModelName类中定义了$fillable属性:

protected $fillable = ['bot_id', 'bot_text'];

您还可以在firstOrCreate 方法的第一个参数中传递条件,如下所示:

$db = ModelName::firstOrCreate([
['updated_at','<=', Carbon::today()],
'bot_id'=>10, 
'bot_text'=>$botTxt->id
]);

相关内容

最新更新