Maison >cadre php >Laravel >Comment utiliser la méthode with dans Laravel

Comment utiliser la méthode with dans Laravel

WBOY
WBOYoriginal
2022-01-13 16:48:578325parcourir

Dans Laravel, la méthode with() est utilisée comme "chargement hâtif", ce qui signifie que laravel préchargera la relation exacte avec le modèle principal. L'utilisation de cette méthode peut atténuer le problème de requête "1+N". Requêtes "1+1" pour résoudre le problème.

Comment utiliser la méthode with dans Laravel

L'environnement d'exploitation de cet article : système Windows 10, Laravel version 6, ordinateur Dell G3.

Comment utiliser la méthode with dans laravel

with()

La méthode with() est utilisée pour le "chargement de soif", ce qui signifie principalement que laravel sera préchargé avec la relation exacte du modèle principal. Ceci est très utile si vous souhaitez ajouter toutes les relations dans un modèle. Étant donné que le « chargement hâtif » atténue le problème des requêtes 1+N, il suffit de requêtes 1+1 pour résoudre le problème, ce qui améliore considérablement la vitesse des requêtes.

Par exemple :

user > hasMany > post
$users = User::with('posts')->get();
foreach($users as $user){
   $users->posts; // posts已经被加载了,没有增加DB查询
}

Extension :

has()

has() consiste à filtrer les résultats de la requête du modèle en fonction de la relation d'association, sa fonction est donc très similaire à la condition Where. Si vous utilisez uniquement has('post'), cela signifie que vous souhaitez uniquement obtenir ce modèle, qui a au moins une association de publication.

Par exemple :

user > hasMany > post
//User至少有一条post的关联关系
$users = User::has('post')->get();

Vous pouvez également utiliser "." pour construire des instructions has imbriquées.

Par exemple :

user > hasMany > post
$user = User::has('post.votes', '>', '3')->get();

Recommandations associées : Les cinq derniers didacticiels vidéo Laravel

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