Laravel – обновлять несколько записей с разными значениями

У меня есть таблица, похожая на это:

| key | value | |----------|-------| | limit | 15 | | viplimit | 25 | | .. | | 

И у меня есть массив:

 Array ( [0] => Array ( [key] => limit [value] => 10 ) [1] => Array ( [key] => viplimit [value] => 99 ) ... 

Теперь, говоря, что у нас есть 100 строк. Какой был бы лучший способ обновить таблицу, соответствующую массиву?

Будет выбор запроса для каждой 100 строк, но это просто плохая производительность.

Это должно работать:

 $statement = "UPDATE mytable SET key = CASE id WHEN 1 THEN 'key' WHEN 2 THEN 'another_key' WHEN 3 THEN 'some_key' END, value = CASE id WHEN 1 THEN 15 WHEN 2 THEN 25 WHEN 3 THEN 45 END WHERE id IN (1, 2, 3) "); DB::statement($statement); 

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