我希望能够在数据库中插入新记录(如果它尚不存在)。如果确实存在,我想用新信息更新现有记录。
基本上,我想检查它是否存在的字段称为“令牌”。
所以,我尝试过这样的事情:
$this->timesheet->firstOrNew(['token' => '12345'])->save();
这成功创建了新行。
如何传入我想插入/更新的其他字段?例如first_name
,last_name
?
我可以这样做:
$this->timesheet->firstOrNew(['token' => '12345'])->update(['first_name' => 'Bob', 'last_name' => 'Smith'])->save();
答案 0 :(得分:2)
使用firstOrNew
,然后通过致电fill
和save
进行跟进:
$this->timesheet->firstOrNew(['token' => '12345'])
->fill(['first_name' => 'Bob', 'last_name' => 'Smith'])
->save();
答案 1 :(得分:1)
保存对象之前。填写您要保存的其他信息。
$timesheet = $this->timesheet->firstOrNew(['token' => '12345']);
$timesheet->fill(['first_name' => 'Bob', 'last_name' => 'Smith']);
$timesheet->save();