尝试获取 属性 的非对象 In PHP LARAVEL 5.2

Trying to get property of non-object In PHP LARAVEL 5.2

我正在从 web-sniffer 发送请求,其中 email=qqqq@gmail.com 我的数据库中有: 这是我的控制器代码

$email = $request["email"];
        $user = DB::select('select * from users where email = :email', ['email' => $email]);
       var_dump($user);
        //echo $user->email ;

但是当取消注释 echo 时我得到 enter image description here

所以问题是我的 $user 不为空但是当我尝试访问属性时我得到 "Trying to get property of non-object" 错误 请帮助我

您得到的结果是一个数组。只有一个元素,但仍然是一个数组,因此您可以使用

访问 属性
echo $user[0]->email;

我可以建议使用更好的方法,例如 Fluent:

$user = \DB::table('users')
           ->where('email', $request['email'])
           ->first();

或Eloquent:

$user = User::whereEmail($request['email'])->first();

这样你只会得到一条记录 (first()),你可以像现在一样访问 属性:

if ($user) {
   $email = $user->email;
}