Laravel問題:更新hasMany關係記錄的問題
<p>我有一個與品牌模型有 hasMany 關係的使用者模型,並且我在正確更新用戶的品牌時遇到問題。 </p>
<p>我有一個表單,允許用戶在文字欄位中輸入/刪除/更新自己的品牌,我目前使用的在用戶輸入或編輯品牌後更新用戶品牌的方法是刪除所有現有品牌與用戶關聯,然後循環值,創建品牌模型,然後“saveMany”...但是我在添加時似乎遇到了約束衝突...我想知道是否有更好的方法來做到這一點;< /p>
<p>我的<code>User</code>模型有以下內容;</p>
<pre class="brush:php;toolbar:false;">public function brands()
{
return $this->hasMany('Brands::class');
}
</pre>
<p>然後在我的控制器中,我有以下程式碼來更新品牌;</p>
<pre class="brush:php;toolbar:false;">$user->brands()->delete();
foreach ($request['brands'] as $brand) {
$brandArray[] = new Brand([
'name' => $brand['name'],
'rating' => $brand['rating'],
]);
}
!empty($brandArray) && $user->brands()->saveMany($brandArray);
</pre>
<p>有更好的方法嗎? </p>