Как обновить максимально быстро записи в базе и получить эти записи в одном запросе?

Для обновления записей в базе данных и одновременного получения этих записей в одном запросе в Laravel можно использовать метод update в сочетании с методом select.

Первым шагом необходимо создать запрос для обновления записей. Для этого используется фасад DB или модель Eloquent. В следующем примере я буду использовать модель Eloquent для более удобного доступа к базе данных.

$updatedRows = AppModelsYourModel::where('condition', $value)->update(['column' => 'new value']);

В этом примере YourModel - это имя вашей модели, condition - это условие выборки записей для обновления (например, 'id', 'name' и т.д.), а column и new value - это имя столбца для обновления и новое значение соответственно.

После того, как записи были обновлены, следующим шагом является выполнение запроса для получения обновленных записей. Вместо выполнения отдельного запроса, можно использовать метод select вместе с методом whereIn, чтобы получить только обновленные строки.

$updatedRecords = AppModelsYourModel::whereIn('condition', $values)->select('column1', 'column2')->get();

В этом примере condition - это условие выборки записей (которое должно соответствовать условию выборки в предыдущем запросе обновления), values - значения условия выборки записей и column1, column2 - это столбцы, которые вы хотите получить в результате запроса.

Таким образом, вы обновляете записи в одной таблице и получаете обновленные записи в одном запросе, что позволяет значительно сэкономить время.

Однако, следует помнить, что использование этого подхода будет полезно только в случае, если обновляемые записи находятся в одной таблице и требуется получить только обновленные записи из этой таблицы. Если вам нужно обновить записи в нескольких таблицах или получить данные из нескольких таблиц, то лучше разделить эту операцию на несколько запросов.