9
Laravel:属性ごとにコレクションからオブジェクトを取得
Laravelでクエリを実行すると: $foods = Food::where(...)->get(); ...その後$foodsで照らしなさいコレクションのFoodモデルオブジェクト。(基本的にはモデルの配列です。) ただし、この配列のキーは単純です。 [0, 1, 2, 3, ...] ...たとえば、が24のFoodオブジェクトを変更したい場合id、これを行うことはできません。 $desired_object = $foods->get(24); $desired_object->color = 'Green'; $desired_object->save(); ...これはid、24の要素ではなく、配列の25番目の要素を変更するだけだからです。 任意の属性/列(ID /色/年齢など)によってコレクションから単一(または複数)の要素を取得するにはどうすればよいですか? もちろん、私はこれを行うことができます: foreach ($foods as $food) { if ($food->id == 24) { $desired_object = $food; break; } } $desired_object->color = 'Green'; $desired_object->save(); ...しかし、それはただひどいです。 そして、もちろん、私はこれを行うことができます: $desired_object = Food::find(24); $desired_object->color = …