【发布时间】:2013-01-30 10:44:52
【问题描述】:
如何更新 Eloquent 模型中的多个字段?假设我是这样理解的:
$user = User::where("username", "=", "rok");
然后我有了所有这些模型参数:
$new_user_data = array("email" => "rok@rok.com", "is_superuser" => 1, ...);
我不能这样做:
$user->update($new_user_data);
正确的方法是什么?我希望不是foreach。
但是,以下方法确实有效。这是要走的路吗?
User::where("id", "=", $user->id)->update($new_user_data);
最后一个问题(除了笨拙之外)是,当从对象上下文中使用它时,更新的字段在$this 变量中不可见。
【问题讨论】:
-
是的,我认为在更新几列时,
update()函数只有在直接更新Model时才有效。否则,您必须使用fill()和save()。