我有这样的情况,我想更新布尔字段,即如果它是0,则用1更新它,反之亦然。我已经编写了mysql查询,但由于我是laravel的新手,因此我很难将其转换为laravel支持的格式。
以下是我的查询:
update super_admins set status = CASE WHEN status = 0 then 1 else 0 end
where primary_key = 3;
这方面的一个小小的领导将是一个很大的帮助。谢谢
答案 0 :(得分:1)
使用变量
rake paperclip:refresh CLASS=User ## change User with model name.
使用查询生成器
$status = true; //we assume status is true (1) at the begining;
SuperAdmin::where('id', 3)->update([
'status' => !$status //becomes false (0)
]);
如果变量未知,您有一些方法。得到它并切换它。
DB::table('super_admins')
->where('id', 3)
->update([
'status' => !$status
]);
直接在查询中
$sadmin = SuperAdmin::find(3);
$sadmin->status = !$sadmin->status;
$sadmin->save();