UPDATE tbl
SET colB = CASE colA
WHEN a THEN x
WHEN b THEN y
END
WHERE colB IN(a, b);
有没有办法用eloquent / fluent构建上述查询?
答案 0 :(得分:0)
将其拆分为两个更新查询以保持代码简单:
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']);