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 запросов, что не очень хорошо. Как это всё дело оптимизировать или выполнить одним запросом?


Ответы (0 шт):