Laravel Eloquent - update()函数

时间:2014-05-30 06:46:06

标签: laravel eloquent

Laravel的Eloquent update()函数返回一个布尔值,而不是更新的条目。我正在使用:

return User::find($id)->update( Input::all() )

这只返回一个布尔值。有没有办法可以获得实际行,而无需运行其他查询?

2 个答案:

答案 0 :(得分:4)

我认为这就是你想要的行为:

$user = User::find($id)->fill(Input::all());
return ($user->update())?$user:false; 

我希望它适合你。

答案 1 :(得分:1)

另一种方法是使用 laravel tap 辅助函数。

这是一个使用它来更新和获取更新模型的示例:

$user = User::first();
$updated = tap($user)->update([
    "username" => "newUserName123"
]);

tap($user) 允许我们链接该模型中的任何方法。最后,它将返回 $user 模型而不是 update 方法返回的内容。