新しい値を追加しようとする次のループがあります。
_ foreach ($pro->sig()->get() as $key => $sig) {
$sig->val = 2;
}
_
$pro->sig()
の出力を出力すると、新しい値がありません_$sig->val
_
コレクションがある場合は、Push
またはput
メソッドを使用できます。
Putの例:
$collection = collect(['product_id' => 1, 'name' => 'Desk']);
$collection->put('test', 'test');
$collection->all();
出力は次のようになります。
['product_id' => 1, 'name' => 'Desk', 'test' => 'test']
プッシュの例:
$collection = collect([1, 2, 3, 4]);
$collection->Push(5);
$collection->all();
出力:
[1, 2, 3, 4, 5]
リファレンス: https://laravel.com/docs/5.3/collections#method-Push
update5.8のリファレンス: https://laravel.com/docs/5.8/collections#method-Push
私の例では、私は以下のように試しました
foreach ($user->emails as $key => $email) {
$email->test = "test";
}
return $user->emails;
それはのように出力します
{
"id": 76,
"user_id": 5,
"additional_email": "[email protected]",
"test": "test"
}
こうやってみてください。