如何使用这样的代码:
$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
]);