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
402

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.

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.

J'ai essayé des choses simples

Casualty::where('patient_id', $patientOne->getKey())->update(['patient_id' => $patientTwo- >getKey()]);

Mais ça ne marche pas. L'utilisation de la méthode updateOnExistingPivot() 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.

J'ai également essayé de mettre à jour l'enregistrement comme ceci

$patientOne->incidents()->update(['patient_id' => $patientTwo->getKey()]);< /pré> 

Cela ne fonctionne pas non plus car il n'y a pas de colonne patent_id

Comment puis-je y parvenir ou est-ce que je fais quelque chose de mal ?

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éthodebelongsToMany关系并创建一个数据透视表。然后,当您想要更新数据时,只需使用sync.

Vous pouvez également essayer d'utiliserjson_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
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!