我想使用Eloquent执行UPDATE
,这将使用同一表的column_a
和column_b
的值设置column_c
值。基本上,类似这样的东西:
User::where('id', '>', 0)
->update(['column_c' => $this->column_a + $this->column_b]);
其中$this->column_a
和$this->column_b
* 将是 * 当前行的实际值。
MySQL等价:
UPDATE `user` WHERE id > 0 SET column_c = column_a + column_b;
注意:以上代码只是一个示例。这 * 不是 * 实际的实现(这将创建一个DB冗余)。
如何在Laravel 5.1中执行此类更新?我真的很想避免一个foreach
。
2条答案
按热度按时间ukxgm1gy1#
也许
DB::raw
可以帮助。这将允许您使用任何标准的SQL查询来合并您的数据:frebpwbc2#
示例: