0
votes

Relation d'accès de la relation

J'ai ci-dessous trois modèles:

  • flux li>
  • fieldroute li>
  • champ li> ul>

    dans mon code> modèle code> modèle, j'ai: p> xxx pré>

    alors, dans mon modèle de fieldroute, j'ai: P >

    $stream = Stream::find(1);
    
    $routeFields = $stream->FieldRoutes()->fields;
    


2 commentaires

Qu'en est-il de la relation a-t-elle?


$ Stream-> fieldroutes () pourrait vous donner plus d'un résultat, il sera donc probablement sous une certaine collection. Donc, vous feriez mieux de pour acheter le $ Stream-> fieldroutes () et accédez aux champs de la propriété dynamique sur chaque élément de l'itération.


3 Réponses :


0
votes

Essayez xxx


2 commentaires

La réponse fournie a été signalée pour examen comme poste de qualité inférieure. Voici quelques directives pour Comment puis-je écrire une bonne réponse? . Cette réponse fournie peut être correcte, mais elle pourrait bénéficier d'une explication. Les réponses de code seulement ne sont pas considérées comme des réponses «bonnes». De Examiner .


Ajoutez un certain contexte au code que vous voyez pour démontrer comment cela répond à la question.



1
votes

Vous allez avoir besoin d'une boucle imbriquée pour gérer les relations imbriquées. Mais d'abord, l'erreur que vous obtenez est due à une fermeture manquante; Vous devez appeler -> get () code> après le nom de la relation: xxx pré>

Suivant, faisez-vous une boucle pour obtenir les champs: p>

$stream = Stream::with(["FieldRoutes", "FieldRoutes.fields"])->find(1);

$routeFields = $stream->FieldRoutes;
foreach($routeFields AS $routeField){
  $fields = $routeField->fields;
  foreach($fields AS $field){
    // Do whatever with $field
  }
}
// Simplified
foreach($stream->FieldRoutes AS $routeField){
  foreach($routeField->fields AS $field){
    // Do whatever with $field
  }
}


0 commentaires

0
votes

Vous pouvez essayer de charger l'impatience et de cueillir les valeurs.

$stream = Stream::with('FieldRoute.fields')->pluck('FieldRoute')->flatten()->pluck('fields')->flatten();


0 commentaires