【问题标题】:Trying to get property of non-object (showing user profile)试图获取非对象的属性(显示用户配置文件)
【发布时间】:2014-06-10 10:34:29
【问题描述】:
public function getEdit(){
    $user = User::where('id', '=', Auth::user()->id)->get();
    return View::make(Users.edit')->with('user', $user);
}

查看代码

<table class= "bordered">
    <tr>
        <td>username</td><td>{{$user->username}}</td></tr>
        <td>username</td><td>{{$user->email}}</td></tr>
        <td>username</td><td>{{$user->password }}</td></tr>
        <td>username</td><td>{{$user->updated_at}}</td></tr>
        <td>username</td><td>{{$user->created_at}}</td>
    </tr>
<Table>

【问题讨论】:

  • 您拨打Auth::user()-&gt;id时用户是否已登录?
  • 最初没有,但现在我已经登录并且错误异常转移到视图正在发送视图代码
  • 显示view的代码。
  • 错误异常:未定义变量:用户
  • 刚刚发送了查看代码

标签: laravel


【解决方案1】:

您可以在用户登录后尝试:

public function getEdit(){
    if(!Auth::check()) return false; // or throw an exception
    return View::make(Users.edit')->with('user', Auth::user());
}

这也可以(例如):

$user = User::where('id', '=', Auth::user()->id)->first();

即使集合中只有一个模型,get() 也会返回一个集合,因此 $user-&gt;username 不起作用,因为 $user 是一个 collection 对象。

【讨论】:

    猜你喜欢
    • 2022-07-25
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    相关资源
    最近更新 更多