事件模型與病患模型之間存在多對多關係。一個事件可以涉及多個患者,一個患者也可以捲入多個事件。
如果使用者建立患者模型的副本,我們希望能夠將這兩個患者模型合併為一個。這意味著我想將患者 1 涉及的事件移至患者 2,包括資料透視表上的其他屬性。
我試過簡單的事
Casualty::where('patient_id', $patientOne->getKey())->update(['patient_id' => $patientTwo- >getKey()]);
但這行不通。使用 updateOnExistingPivot()
方法意味著我需要迭代患者 1 的每個事件並執行單獨的資料庫查詢以將患者更新為患者 2。
我也嘗試過像這樣更新記錄
$patientOne->incidents()->update(['patient_id' => $patientTwo->getKey()]);< /pre>這也不起作用,因為事件表上沒有 patent_id 欄位。
我可以如何實現這個目標,還是我做錯了什麼?
不確定我是否理解您的意思,您想將更多患者歸入同一事故中嗎?您可以使用
belongsToMany
關係並建立資料透視表。然後,當您想要更新資料時,只需使用sync
方法即可。您也可以嘗試使用
json_encode()
將它們儲存在一列中,該列僅保存使用者 ID,稍後再檢索它們。抱歉,無法提供更多信息,因為問題沒有得到很好的描述。