Eloquent как сделать update значений из массива одним запросом?
Имею массив данных, к примеру:
$arr = [
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3',
];
И есть колонка в таблице с такими значениями:
column_name
key1
key2
key3
Как мне сделать так, чтобы в данной колонке все значения key поменялись на значения value из массива?
Рабочий способ такой:
foreach ($arr as $key => $value) {
EloqModel::where('column_name', $key)
->update(['column_name' => $value]);
}
Но в этом случае, если в массиве будет как у меня 30000 значений, будет выполнено 30000 запросов, что не очень хорошо. Как это всё дело оптимизировать или выполнить одним запросом?