У меня есть объектная модель, которая имеет несколько строк, например, результат, полученный с помощью этого запроса:
$cities = City::whereIn('id' , [1,2,3])->get();
Что я хочу сделать, это обновить каждую строку с тем же значением без использования each
, потому что each
выполняет запрос к каждой строке, поэтому в приведенном выше запросе у меня будет 3 запроса.
Вместо этого:
$cities->each->update(['name' => 'test']);
Я хочу сделать что-то подобное, так как у меня уже есть объект модели, но он не работает:
$cities->update(['name' => 'test']);
Вместо этого я должен сделать что-то подобное, чтобы заставить его работать:
City::whereIn('id' , $cities->pluck('id'))->update(['Avatar' => 'test']);
Мой вопрос таков; Почему я не могу использовать это:
$cities->update(['name' => 'test']);