Laravel - kemas kini hubungan model kepada model lain
P粉674999420
2023-09-01 22:36:33
<p>Terdapat hubungan banyak-ke-banyak antara model acara dan model pesakit. Insiden boleh melibatkan berbilang pesakit, dan pesakit boleh terlibat dalam berbilang insiden. </p>
<p>Jika pengguna mencipta salinan model pesakit, kami mahu dapat menggabungkan dua model pesakit menjadi satu. Ini bermakna saya ingin mengalihkan peristiwa yang melibatkan pesakit 1 kepada pesakit 2, termasuk atribut lain pada jadual pangsi. </p>
<p>Saya mencuba perkara mudah</p>
<pre class="brush:php;toolbar:false;">Casualty::where('patient_id', $patientOne->getKey())->update(['patient_id' => $patientTwo- >getKey()]);</pre>
<p>Tetapi itu tidak berkesan. Menggunakan kaedah <code>updateOnExistingPivot()</code> bermakna saya perlu mengulangi setiap peristiwa untuk Pesakit 1 dan menjalankan pertanyaan pangkalan data yang berasingan untuk mengemas kini pesakit kepada Pesakit 2. </p>
<p>Saya juga cuba mengemas kini rekod seperti ini</p>
<pre class="brush:php;toolbar:false;">$patientOne->insiden()->update(['patient_id' => $patientTwo->getKey()]);< /pra>
<p>Ini juga tidak berfungsi kerana tiada lajur <strong>patent_id</strong> </p>
<p>Bagaimana saya boleh mencapai ini, atau adakah saya melakukan sesuatu yang salah? </p>
Tidak pasti sama ada saya faham maksud anda, adakah anda ingin mengaitkan lebih ramai pesakit dengan kejadian yang sama? Anda boleh menggunakan kaedah
belongsToMany
关系并创建一个数据透视表。然后,当您想要更新数据时,只需使用sync
.Anda juga boleh cuba menggunakan
json_encode()
untuk menyimpannya dalam lajur yang hanya menyimpan ID pengguna dan mendapatkannya kemudian.Maaf, tidak dapat memberikan maklumat lanjut kerana masalahnya tidak diterangkan dengan baik.