【问题标题】:Trying to get property of non-object In PHP LARAVEL 5.2试图在 PHP LARAVEL 5.2 中获取非对象的属性
【发布时间】:2016-02-19 15:25:11
【问题描述】:

我从 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 ;

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

所以问题是我的 $user 不是空的,但是当我尝试访问属性时,我得到“尝试获取非对象的属性”错误 请帮帮我

【问题讨论】:

    标签: php email laravel-5.2


    【解决方案1】:

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

    echo $user[0]->email;
    

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

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

    或雄辩:

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

    这样您只会获得一条记录 (first()),并且您可以像现在一样访问该属性:

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

    【讨论】:

      猜你喜欢
      • 2016-12-23
      • 2018-01-15
      • 2016-12-25
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多