Laravel 5.4在不使用where子句的情况下更新表中的所有记录

Vis*_*tty 3 php mysql laravel

我正在尝试使用Laravel 5.4中的单个雄辩查询来更新表中的所有记录

Currency::update(['default'=>0]);
Run Code Online (Sandbox Code Playgroud)

我期望该查询将更新表中的所有记录,但是此查询无法正常工作。期望where子句,并且我不想使用where子句放置任何条件,我只想更新表中的所有记录。

我没有从laravel文档中得到任何答案。

表结构 在此处输入图片说明

Tim*_*sen 7

MySQL具有安全的更新服务器模式,除非该语句具有WHERE涉及主键的子句,否则它将不允许进行更新。如果您的MySQL以这种模式运行,那么一种欺骗它的方法就是使用WHERE id = id,如下所示:

DB::table('Currency')
        ->where('id', 'id')
        ->update(['default' => 0]);
Run Code Online (Sandbox Code Playgroud)