Manuellement ajouter un élément à un objet existant [Laravel 5]
Voici ce que j'essaie de faire:
$q = Question::where('id',$id -> id)->get();
$q[] = $q->push([ 'test' => true]);
dd($q);
Ce sera de sortie:
Collection {#220 ▼
#items: array:3 [▼
0 => Question {#225 ▶}
1 => array:1 [▼
"test" => true
]
2 => null
]
}
Donc 'test' => true
va ajouter une nouvelle clé, mais je veux l'insérer dans Question
donc ci je peux accéder à elle comme ça avec foreach $q -> test
Donc, voici comment je veux avoir accès à l'article:
@foreach($q as $qq)
{{ $qq->test }}
@endforeach
Je n'ai pas understan 1 chose: Question::où('id',$id -> id)->get(); pourquoi Vous n'avez pas obtenir de l'élément de clé primaire en utilisant simplement: Question::find($id); ?
Il en est de même... 🙂
Tellement drôle pour obtenir collection de lignes quand il est toujours unique (:
Si j'utilise
bien sûr, mais, Vous allez perdre de l'ORM de ces fonctions.
Il en est de même... 🙂
Tellement drôle pour obtenir collection de lignes quand il est toujours unique (:
Si j'utilise
find
est possible ensuite d'ajouter de nouveaux aléatoire attribut? à des objets existantsbien sûr, mais, Vous allez perdre de l'ORM de ces fonctions.
OriginalL'auteur Vladimir Djukic | 2015-07-17
Vous devez vous connecter pour publier un commentaire.
Il peut être fait en utilisant setAttribute() fonction de Éloquent Modèle (https://github.com/illuminate/database/blob/master/Eloquent/Model.php).
Comme Vous pouvez le voir, il stocke les données dans protected $attributs à l'aide de setAttribute(), et quand nous le faisons $SomeModel->some_field il utilise la magie de la méthode __get() pour récupérer un article par l'association de attributs tableau.
Voici la résolution de Votre question:
Question
objet...mise à jour de ma réponse
Il vient de créer un nouvel objet, il ne sera pas ajouter un attribut à mon objet... je prend attrinuts à partir de la base de données:
$q = Question::where('id',$id -> id)->get();
et j'ai besoin sur les attributs d'en ajouter de nouveaux.Essayez voie secondaire, en utilisant la méthode setAttribute de Éloquent
C'est ça, merci s'accoupler!
OriginalL'auteur num8er
En dehors de
setAttribute()
, vous pouvez utiliserput()
reportez-vous à cette post, pour un élément. Etmap()
pour de nombreux éléments, reportez-vous à cette post.OriginalL'auteur Kris Roofe