我有这一行:
$user = DB::table("users")
->where("email", $email)
->where("password", $password)
->first();
这将选择所有列。有没有办法丢弃或选择要获取的列,或者我必须手动添加我想要响应的每列?与Request
only()
和except()
方法一样。
手动方式:
response()->json([
"name" => $user->name,
...
])
答案 0 :(得分:2)
这将获得选定的列....
$user = DB::table("users")
->select('name')
->where("email", $email)
->where("password", $password)
->first();
或
$user = DB::table("users")
->select('name')
->where("email", $email)
->where("password", $password)
->get();
您可以将此结果作为json返回如下
return Response::json($user);
为此,您应该在顶部添加控制器use Response
。
答案 1 :(得分:1)
您可以在array
方法中传递first
以及您想要获得的每个字段名称。
->first(['field1', 'field2']);