Код: Выделить всё
$instances = Model::orderBy('field')->get();
$rank = 1;
foreach ($instances as $instance) {
$instance->update([
'rank' => $rank,
]);
$rank++;
}
1. Есть ли альтернативные способы избежать использования цикла? например, я помещаю ранги в массив и обновляю все записи только одним волшебным методом. Например:
Код: Выделить всё
$instances = Model::orderBy('field')->get();
$rank = 1;
$ranks_array = array();
foreach ($instances as $instance) {
array_push($ranks_array, $rank);
$rank++;
}
$instances->magicMethod($ranks_array);
Подробнее здесь: https://stackoverflow.com/questions/549 ... in-laravel