Eloquent метод toQuery
Знаете ли вы, что в Laravel существует метод под названием toQuery? Он позволяет выполнять операции над коллекцией моделей одним запросом, используя фильтрацию по первичному ключу 🚀.
Метод toQuery
возвращает экземпляр конструктора запросов Eloquent
, в котором автоматически установлено условие whereIn
для всех первичных ключей, присутствующих в коллекции.
<?php
$users = User::where('status', 'VIP')->get();
// Отдельный sql запрос на обновление каждой записи
foreach ($users as $user) {
$user->update(['status' => 'Administrator']);
}
// Один запрос на обновление всех записей
$users->toQuery()->update(['status' => 'Administrator']);