Laravel - 将模型关系更新到另一个模型
<p>事件模型和患者模型之间存在多对多关系。一个事件可以涉及多个患者,一个患者也可以卷入多个事件。</p>
<p>如果用户创建患者模型的副本,我们希望能够将这两个患者模型合并为一个。这意味着我想将患者 1 涉及的事件移至患者 2,包括数据透视表上的其他属性。</p>
<p>我尝试过简单的事情</p>
<pre class="brush:php;toolbar:false;">Casualty::where('patient_id', $patientOne->getKey())->update(['patient_id' => $patientTwo->getKey()]);</pre>
<p>但这行不通。使用 <code>updateOnExistingPivot()</code> 方法意味着我需要迭代患者 1 的每个事件并运行单独的数据库查询以将患者更新为患者 2。</p>
<p>我也尝试过像这样更新记录</p>
<pre class="brush:php;toolbar:false;">$patientOne->incidents()->update(['patient_id' => $patientTwo->getKey()]);</pre>
<p>这也不起作用,因为事件表上没有 <strong>patent_id</strong> 列。</p>
<p>我怎样才能实现这个目标,还是我做错了什么?</p>