2016-02-19 91 views
1

发送即时消息从网络嗅探的请求,其中[email protected]我在我的数据库,其中: 这里是我的控制器代码试图让非对象的属性在PHP 5.2 LARAVEL

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

但是,当取消对回声我得到enter image description here

所以这个问题是我的$用户不是空的,但是当我试图访问一个proprety我得到“试图获得非对象的属性”错误 请帮我

回答

1

你得到的结果是一个数组。只需一个元素,但数组尽管如此,这样你就可以

echo $user[0]->email; 

可我建议使用一个更好的方法访问属性,像流利例如:

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

伶牙俐齿:

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

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

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

非常感谢你,它工作的很棒 –

相关问题