如何获取 Laravel 中的行?

How to get row in Laravel?

我在 Laravel 中按 $id 得到一行,如下所示:

$user = User::where("id", $id)->get();

之后我需要做return $user->first();

我可以使用这个请求更矮吗?

你可以简单地 运行:

return User::find($id);

或者甚至(取决于您的需要):

return User::findOrFail($id);

您可以使用 $user = User::findOrFail($id);,因为 id 是唯一的,因此您将获得一个 User 对象或异常,您可以捕获并做出相应的响应。

你不必调用 ->get()->first(),因为你确定你只会通过 id 列获得一个结果,这样搜索,

User::find($id); 要么 User::where('id',$id)->first()

如果你想处理异常,你还有其他替代方法,->findOrFail()->firstOrFail()

因为你只有一个 where 子句,最短的方法是

return User::find($id);