我再提交一次相同的數據,他還是給我插入一條新的數據而不是更新,
文檔看得不太懂,
望大佬們 指點下~~
2 回答

慕俠2389804
TA貢獻1719條經驗 獲得超6個贊
很多時候看源碼就能明白,源碼如下:
public function updateOrCreate(array $attributes, array $values = [])
{
$instance = $this->firstOrNew($attributes);
$instance->fill($values)->save();
return $instance;
}
參數 $attributes
是 where 條件,根據 $attributes
參數去數據庫匹配是否有相關數據,如果沒有則新建數據,有就查詢出來。
然后再 fill
參數 values
的值去保存。

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
//以id來查找,如果有的話就修改更新,沒有的話就create
$create_bool =Logistics::updateOrCreate([
'id' => $model['id'],
],[
'a' => $model['a'],
'b' => $model['b'],
'c' => $model['c'],
'd' => $model['d'],
'e' => $model['e'],
]);
- 2 回答
- 0 關注
- 1201 瀏覽
添加回答
舉報
0/150
提交
取消