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

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

德瑪西亞99
TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
//以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 關(guān)注
- 1193 瀏覽
添加回答
舉報(bào)
0/150
提交
取消