sql >> Base de Datos >  >> RDS >> Mysql

Laravel:actualice múltiples registros con diferentes valores

Esto debería 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);

Solo piensa cómo crear la consulta correcta. Si es el panel de administración o algo que no se ejecutará con mucha frecuencia, solo usaría la iteración para simplificar las cosas.