"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Quelle est la différence entre `$model->relation()` et `$model->relation` dans Laravel ?

Quelle est la différence entre `$model->relation()` et `$model->relation` dans Laravel ?

Publié le 2024-11-20
Parcourir:792

What\'s the Difference Between `$model->relation()` et `$model->relation` dans Laravel ? 
relation()` et `$model->relation` dans Laravel ? " />

Comprendre $model->relation() vs $model->relation

Dans Laravel, la syntaxe $model->relation() et $model->relation sont souvent utilisés pour accéder aux relations de modèle. Cependant, ils diffèrent considérablement par leur nature. fonctionnalité.

$model->relation()

$model->relation() invoque la méthode de relation définie dans le modèle. Cette méthode renvoie l'objet de relation réel. , qui permet une personnalisation plus poussée des requêtes. Par exemple :

$distributors = $store->distributors()->where('priority', '>', 4);

$model->relation

$model->relation récupère le résultat de la relation de manière dynamique. Laravel crée des méthodes getter pour les relations, vous permettant d'y accéder. les en tant que propriétés du modèle. Cette syntaxe récupère automatiquement les données de relation et renvoie le résultat sous forme de collection :

$distributors = $store->distributors;

Différences clés

  • Type de retour : $model->relation() renvoie la relation objet, tandis que $model->relation renvoie le résultat de la relation.
  • Personnalisation des requêtes : $model->relation() permet personnalisation plus poussée de la requête avant de récupérer les résultats, tandis que $model->relation récupère les résultats en fonction de la requête par défaut définie dans la méthode de relation.
  • Propriétés dynamiques : $model->relation exploite la fonctionnalité de propriétés de relation dynamique de Laravel pour créer automatiquement des méthodes getter.

Cas d'utilisation

  • Utiliser $model->relation() lorsque vous devez modifier la requête de relation avant de récupérer les résultats.
  • Utilisez $model->relation lorsque vous souhaitez simplement récupérer les données de relation sans aucune personnalisation.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3