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

全部回复(1)
P粉244155277

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号