Maison >développement back-end >tutoriel php >Comment puis-je choisir sélectivement des colonnes lors d'un chargement impatient avec la méthode « with() » de Laravel ?

Comment puis-je choisir sélectivement des colonnes lors d'un chargement impatient avec la méthode « with() » de Laravel ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-30 07:10:09322parcourir

How Can I Selectively Choose Columns When Eager Loading with Laravel's `with()` Method?

Sélection sélective de colonnes à l'aide de "With()" dans Laravel Eloquent

Dans Laravel Eloquent, la fonction "with()" fournit un moyen efficace de charger avec impatience les modèles associés à partir d'une table spécifiée. Cependant, cela ne se limite pas au chargement de toutes les colonnes. Pour sélectionner des colonnes spécifiques d'une table jointe à l'aide de "with()", procédez comme suit :

  1. Passez une fermeture anonyme comme deuxième paramètre dans le tableau "with()".
  2. Dans la fermeture, utilisez le paramètre "$query" pour spécifier les colonnes à sélectionner dans la table jointe à l'aide de la méthode "select()".

Par exemple, pour récupérer les publications avec uniquement "l'identifiant" et le "nom d'utilisateur" à partir du modèle d'utilisateur associé :

Post::query()
    ->with(['user' => function ($query) {
        $query->select('id', 'username');
    }])
    ->get();

Remarque : Assurez-vous que la clé primaire ("id" dans ce cas) est le premier paramètre de l'instruction "$query->select()" pour une récupération correcte des résultats.

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!

Déclaration:
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