Laravel的Eloquent update()
函数返回一个布尔值,而不是更新的条目。我正在使用:
return User::find($id)->update( Input::all() )
这只返回一个布尔值。有没有办法可以获得实际行,而无需运行其他查询?
答案 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
方法返回的内容。