UPDATE tbl
SET colB = CASE colA
WHEN a THEN x
WHEN b THEN y
END
WHERE colB IN(a, b);
有没有一种方法可以雄辩/流利地建立以上查询?
最佳答案
将其拆分为两个更新查询,以保持代码简单:
DB::table('tbl')
->where('colA', 'a')
->whereIn('colB', ['a', 'b'])
->update(['colB' => 'x']);
DB::table('tbl')
->where('colA', 'b')
->whereIn('colB', ['a', 'b'])
->update(['colB' => 'y']);
关于mysql - php laravel Eloquent :是否可以使用SET WHEN建立更新查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42793081/