2 回答

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊
你試圖做的事情并不完全正確。你也應(yīng)該嘗試更新關(guān)系,最好先像
$location->update($locationAttributes);
$user->update($userAttributes);
順便說(shuō)一下,您想更新位置記錄還是想將新位置關(guān)聯(lián)到用戶還不是很清楚。如果是后者,那么您可以將位置與用戶相關(guān)聯(lián)
$user->locations()->attach($locationId);

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
我犯了一個(gè)錯(cuò)誤,沒(méi)有將模型用戶的位置函數(shù)包含到更新序列中。
用戶模型:
public function locations()
{
return $this->hasOne(Location::class, 'id', 'location_id');
}
我通過(guò)簡(jiǎn)單地將 $attribute 數(shù)組劃分為 2 個(gè)具有自己的表列數(shù)據(jù)的數(shù)組來(lái)解決該問(wèn)題。我還做了第二個(gè)語(yǔ)句,它從模型中調(diào)用位置函數(shù)并相應(yīng)地更新它。
$user->locations()->update($locationAttributes);
$user->update($attributes);
$attributes 只包含用戶信息,$locationAttributes 只包含位置信息。
$locations() 指的是表位置中的行。它通過(guò)從所選用戶那里獲取 location_id 來(lái)知道要選擇哪一行。
- 2 回答
- 0 關(guān)注
- 184 瀏覽
添加回答
舉報(bào)