尝试获取 属性 的非对象 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;
}
我正在从 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;
}