relation();" et "$model->relation"Dans Laravel, la différence entre..."/> relation();" et "$model->relation"Dans Laravel, la différence entre...">

Maison >développement back-end >tutoriel php >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 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-02 20:08:02761parcourir

What is the difference between `$model->relation();` et `$model->relation` dans Laravel ? 
relation();` et `$model->relation` dans Laravel ? " />

Comprendre la distinction entre "$model->relation();" et "$model->relation"

Dans Laravel, la différence entre "$model->relation();" et "$model->relation" réside dans le type de résultat returnné :

"$model->relation();" renvoie l'objet relation lui-même. Cela peut être utile si vous devez effectuer des opérations supplémentaires sur la relation, telles que spécifier des opérations supplémentaires. conditions ou contraintes.

"$model->relation" renvoie le résultat de la relation. Il s'agit généralement d'un tableau de modèles ou d'un objet de collection. qui contient les données associées. Il représente les données que vous seriez intéressé à utiliser dans la plupart des cas.

Exemple de mise en œuvre

Dans votre scénario spécifique, pour obtenir une liste des distributeurs d'un magasin et de leurs bières respectives, vous pouvez utiliser la démarche suivante :

<code class="php">$store = $this->store->find($id)->first();
$distributors = $store->distributors;
$beers = [];

foreach ($distributors as $distributor) {
    $beers = array_merge($distributor->beers->lists('name', 'id'), $beers);
}</code>

Voici la répartition des code :

  • $store->distributors charge la relation mais n'exécute pas la requête. Il renvoie l'objet relation.
  • $distributor->beers récupère les bières liées à. chaque distributeur.
  • ->lists('name', 'id') extrait uniquement les noms et identifiants de la bière du résultat.
  • La boucle foreach externe parcourt les distributeurs, fusionnant les listes de bières dans le tableau $beers.

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