Laravel DB仅选择/除外?

时间:2015-06-26 08:14:12

标签: php laravel

我有这一行:

$user = DB::table("users")
            ->where("email", $email)
            ->where("password", $password)
            ->first();

这将选择所有列。有没有办法丢弃或选择要获取的列,或者我必须手动添加我想要响应的每列?与Request only()except()方法一样。

手动方式:

response()->json([
    "name" => $user->name,
    ...
])

2 个答案:

答案 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']);