0
既存のコレクションに新しいプロパティを追加しようとしました。Eloquent Collectionに新しいプロパティを追加する
$text = Text::find(1); //Text model has properties- id,title,body,timestamps
$text->user = $user;
そして$text->user
、を介してユーザにアクセス:私は必要なもの
のようなものです。
ドキュメントを調べると、私はput
、prepend
、setAttribute
という方法を見つけました。再び
$collection = collect();
$collection->put('a',1);
$collection->put('c',2);
echo $collection->c; //Error: Undefined property: Illuminate\Support\Collection::$c
、
$collection = collect();
$collection->prepend(1,'t');
echo $collection->t = 5; //Error: Undefined property: Illuminate\Support\Collection::$t
そして
$collection = collect();
$collection->setAttribute('c',99); // Error: undefined method setAttribute
echo $collection->c;
任意のヘルプ?
あなたの答えをありがとう。 [OK]をクリックすると、 'all'や 'get'のようなクエリは 'Illuminate \ Database \ Eloquent \ Collection'のインスタンスを返します。 'setAttribute'メソッドは使用できませんか?そして、「putメソッドの使用」の例を更新しました。 – MASh
いいえ、setAttributeは単一のモデルで使用できます。モデルを取得するには、ここでは 'get'または' all'を使用しないでください。 '$ text = Text :: where( 'id'、1) - > get();'を使うことができるモデルのコレクションを持っていれば、 '$ text [0]'に最初のモデルがあります。あなたがidによって見ているとき、あなたはこのidを持つただ一つの要素しか持たないので、結果の集まりを持つことは意味がありません。 –
私は欠けていた点を得た。あなたの答えを受け入れる。お疲れ様でした。 – MASh