【发布时间】:2014-04-21 06:17:39
【问题描述】:
如果我错了,请纠正我,但我认为 Eloquent 模型中不存在大规模更新。
有没有办法在不为每一行发出查询的情况下对数据库表进行大规模更新?
比如有没有静态方法,比如
User::updateWhere(
array('age', '<', '18'),
array(
'under_18' => 1
[, ...]
)
);
(是的,这是一个愚蠢的例子,但你明白了......)
为什么没有实现这样的功能? 如果出现这种情况,只有我会很高兴吗?
我(开发人员)不想像这样实现它:
DB::table('users')->where('age', '<', '18')->update(array('under_18' => 1));
因为随着项目的发展,以后我们可能会要求程序员更改表名,他们无法搜索和替换表名!
有没有这样的静态方法来执行这个操作?如果没有,我们可以扩展Illuminate\Database\Eloquent\Model 类来完成这样的事情吗?
【问题讨论】:
标签: php laravel laravel-4 eloquent