Comment synchroniser un tableau avec plusieurs champs pivots dans Laravel ?

Susan Sarandon
Libérer: 2024-10-19 17:53:29
original
871 Les gens l'ont consulté

How to Sync an Array with Multiple Pivot Fields in Laravel?

Synchronisation d'un tableau avec des champs pivots supplémentaires dans Laravel

Dans Laravel, la méthode sync() vous permet de gérer les plusieurs à- de nombreuses relations entre les modèles. Bien que la documentation fournisse des exemples de synchronisation d'une seule ligne pivot, elle n'explique pas explicitement comment associer des données pivot personnalisées à plusieurs lignes synchronisées.

La solution réside dans la spécification d'un tableau de données pivot pour chaque modèle associé que vous souhaitez synchroniser. En fournissant une paire clé-valeur où la clé est l'ID du modèle associé et la valeur est un tableau de valeurs de champ pivot, vous pouvez associer des données pivot supplémentaires à chaque ligne en cours de synchronisation.

Par exemple, considérons un modèle utilisateur. qui a une relation plusieurs-à-plusieurs avec un modèle de rôle. Le tableau croisé dynamique de cette relation comporte un champ d'expiration. Si vous souhaitez synchroniser trois rôles avec l'utilisateur, chacun avec une valeur d'expiration différente, vous pouvez le faire comme suit :

<code class="php">$user->roles()->sync([
    1 => ['expires' => true],
    2 => ['expires' => false],
    3 => ['expires' => null],
]);</code>
Copier après la connexion

Cela synchronisera l'utilisateur avec trois ID de rôle et associera les valeurs d'expiration spécifiées. avec chaque ligne du tableau croisé dynamique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
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!