Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Laravel - atualize vários registros com valores diferentes


Isso deve funcionar:
$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);

Basta pensar em como criar a consulta correta. Se for o painel de administração ou algo que não será executado com muita frequência, eu usaria apenas a iteração para manter as coisas simples.