Laravel - 将模型关系更新到另一个模型
P粉674999420
P粉674999420 2023-09-01 22:36:33
0
1
499
<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>
P粉674999420
P粉674999420

全部回复(1)
P粉244155277

不确定我是否理解您的意思,您想将更多患者归入同一事故中吗?您可以使用 belongsToMany 关系并创建一个数据透视表。然后,当您想要更新数据时,只需使用 sync 方法即可。

您还可以尝试使用 json_encode() 将它们存储在一列中,该列仅保存用户 ID,稍后再检索它们。

抱歉,无法提供更多信息,因为问题没有得到很好的描述。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板