搜尋

首頁  >  問答  >  主體

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>
P粉674999420P粉674999420438 天前477

全部回覆(1)我來回復

  • P粉244155277

    P粉2441552772023-09-02 19:09:51

    不確定我是否理解您的意思,您想將更多患者歸入同一事故中嗎?您可以使用 belongsToMany 關係並建立資料透視表。然後,當您想要更新資料時,只需使用 sync 方法即可。

    您也可以嘗試使用 json_encode() 將它們儲存在一列中,該列僅保存使用者 ID,稍後再檢索它們。

    抱歉,無法提供更多信息,因為問題沒有得到很好的描述。

    回覆
    0
  • 取消回覆