Laravel用案例更新查询

时间:2017-03-03 07:18:47

标签: php mysql laravel eloquent sql-update

我有这样的情况,我想更新布尔字段,即如果它是0,则用1更新它,反之亦然。我已经编写了mysql查询,但由于我是laravel的新手,因此我很难将其转换为laravel支持的格式。

以下是我的查询:

update super_admins set status = CASE WHEN status = 0 then 1 else 0 end
where primary_key = 3;

这方面的一个小小的领导将是一个很大的帮助。谢谢

1 个答案:

答案 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();