Laravel - mettre à jour la relation du modèle avec un autre modèle
P粉674999420
P粉674999420 2023-09-01 22:36:33
0
1
484
<p>Il existe une relation plusieurs-à-plusieurs entre le modèle d'événement et le modèle de patient. Un incident peut impliquer plusieurs patients, et un patient peut être impliqué dans plusieurs incidents. </p> <p>Si l'utilisateur crée une copie du modèle de patient, nous souhaitons pouvoir fusionner les deux modèles de patient en un seul. Cela signifie que je souhaite déplacer les événements impliquant le patient 1 vers le patient 2, y compris d'autres attributs sur le tableau croisé dynamique. </p> <p>J'ai essayé des choses simples</p> <pre class="brush:php;toolbar:false;">Casualty::where('patient_id', $patientOne->getKey())->update(['patient_id' => $patientTwo- >getKey()]);</pre> <p>Mais ça ne marche pas. L'utilisation de la méthode <code>updateOnExistingPivot()</code> signifie que je dois parcourir chaque événement pour le patient 1 et exécuter une requête de base de données distincte pour mettre à jour le patient vers le patient 2. </p> <p>J'ai également essayé de mettre à jour l'enregistrement comme ceci</p> <pre class="brush:php;toolbar:false;">$patientOne->incidents()->update(['patient_id' => $patientTwo->getKey()]);< /pré> <p>Cela ne fonctionne pas non plus car il n'y a pas de colonne <strong>patent_id</strong> </p> <p>Comment puis-je y parvenir ou est-ce que je fais quelque chose de mal ? </p>
P粉674999420
P粉674999420

répondre à tous(1)
P粉244155277

Je ne suis pas sûr de comprendre ce que vous voulez dire, souhaitez-vous attribuer plus de patients au même incident ? Vous pouvez utiliser la méthode belongsToMany 关系并创建一个数据透视表。然后,当您想要更新数据时,只需使用 sync.

Vous pouvez également essayer d'utiliser json_encode() pour les stocker dans une colonne contenant uniquement l'ID utilisateur et les récupérer plus tard.

Désolé, je ne peux pas fournir plus d'informations car le problème n'est pas bien décrit.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal