【问题标题】:Trying to get property of non-object in laravel 5.5试图在 laravel 5.5 中获取非对象的属性
【发布时间】:2018-03-03 06:37:42
【问题描述】:

我试图显示我的变量值以查看页面,但它显示尝试获取非对象属性的错误。请有人帮助我。 这是我的控制器-

public function myAffiliates(Request $request) {
    if ($user_id = Sentinel::getUser()->id) {
        $affiliates = DB::table('affiliate_users')
          ->where('affiliate_users.user_id', $user_id)
          ->first();
    }
    //dd($affiliates);
    return view('dashboard.affiliates.show',['affiliates' => $affiliates]);
}

我这样写到我的视图页面-

@foreach ($affiliates as $affiliate)
    <ul>
        <li>First Upline - {{ $affiliate->first_upline_id }} Pts,</li>
        <li>Second Upline - {{ $affiliate->second_upline_id }} Pts,</li>
        <li>Third Upline - {{ $affiliate->third_upline_id }} Pts.</li>
    </ul>
@endforeach

【问题讨论】:

  • 您只返回 1 个附属机构,因此您正在尝试遍历对象的属性。要么删除 foreach 并传递 ['affiliate' =&gt; $affiliates](去掉键上的 s),要么将 first() 更改为 get()
  • 错误消息是关于正在发生的事情的重要线索。退后一步,学习理解错误信息。但不仅要理解单词,还要理解它们的含义。

标签: php mysql laravel-5.5


【解决方案1】:

使用first() 检索单个对象

使用get() 检索集合并在刀片上对其进行迭代

【讨论】:

    【解决方案2】:

    你正在尝试迭代对象的属性试试这个

    <ul>
            <li>First Upline - {{ $affiliates->first_upline_id }} Pts,</li>
            <li>Second Upline - {{ $affiliates->second_upline_id }} Pts,</li>
            <li>Third Upline - {{ $affiliates->third_upline_id }} Pts.</li>
    </ul>
    

    【讨论】:

      猜你喜欢
      • 2018-06-06
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 2018-02-10
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多