Laravel - モデルの関係を別のモデルに更新する
P粉674999420
P粉674999420 2023-09-01 22:36:33
0
1
497
<p>イベント モデルと患者モデルの間には多対多の関係があります。 1 つのインシデントには複数の患者が関与する場合があり、1 人の患者が複数のインシデントに関与する場合もあります。 </p> <p>ユーザーが患者モデルのコピーを作成した場合、2 つの患者モデルを 1 つにマージできるようにしたいと考えています。これは、ピボット テーブル上の他の属性も含めて、患者 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粉674999420
P粉674999420

全員に返信(1)
P粉244155277

何を言っているのか分かりませんが、より多くの患者が同じ事件に起因すると考えますか? belongsToMany リレーションシップを使用して、ピボット テーブルを作成できます。データを更新する場合は、sync メソッドを使用するだけです。

json_encode() を使用して、ユーザー ID のみを保持する列にそれらを保存し、後で取得することもできます。

申し訳ありませんが、問題が詳しく説明されていないため、これ以上の情報を提供することはできません。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート