Laravel – Modellbeziehung auf ein anderes Modell aktualisieren
<p>Es besteht eine Viele-zu-Viele-Beziehung zwischen dem Ereignismodell und dem Patientenmodell. An einem Vorfall können mehrere Patienten beteiligt sein, und ein Patient kann an mehreren Vorfällen beteiligt sein. </p>
<p>Wenn der Benutzer eine Kopie des Patientenmodells erstellt, möchten wir in der Lage sein, die beiden Patientenmodelle zu einem zusammenzuführen. Das heißt, ich möchte die Ereignisse, die Patient 1 betreffen, zu Patient 2 verschieben, einschließlich anderer Attribute in der Pivot-Tabelle. </p>
<p>Ich habe einfache Dinge ausprobiert</p>
<pre class="brush:php;toolbar:false;">Casualty::where('patient_id', $patientOne->getKey())->update(['patient_id' => $patientTwo- >getKey()]);</pre>
<p>Aber das funktioniert nicht. Wenn ich die Methode <code>updateOnExistingPivot()</code> verwende, muss ich jedes Ereignis für Patient 1 durchlaufen und eine separate Datenbankabfrage ausführen, um den Patienten auf Patient 2 zu aktualisieren. </p>
<p>Ich habe auch versucht, den Datensatz so zu aktualisieren</p>
<pre class="brush:php;toolbar:false;">$patientOne->incidents()->update(['patient_id' => $patientTwo->getKey()]);< /pre>
<p>Dies funktioniert auch nicht, da in der Ereignistabelle keine Spalte <strong>patent_id</strong> vorhanden ist. </p>
<p>Wie kann ich das erreichen, oder mache ich etwas falsch? </p>