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>