使用其他列值进行雄辩的更新 [英] Use other column values for Eloquent update

查看:0
本文介绍了使用其他列值进行雄辩的更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用eloquent执行UPDATE,它将使用同一表的column_acolumn_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;

注意:上面的代码只是一个示例。这是而不是实际实现(这将创建数据库冗余)。

如何在Laravel 5.1中执行此类更新?我真的希望避免foreach

推荐答案

也许DB::raw可以提供帮助。这将允许您使用任何标准SQL查询来组合您的数据:

User::where('id', '>', 1)
    ->update(['column_c' => DB::raw( CONCAT(column_a, '-', column_b) )]);

这篇关于使用其他列值进行雄辩的更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆