试图在 laravel 5.5 中获取非对象的属性

Posted

技术标签:

【中文标题】试图在 laravel 5.5 中获取非对象的属性【英文标题】:Trying to get property of non-object in 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() 错误消息是关于正在发生的事情的重要线索。退后一步,学习理解错误信息。但不仅要理解单词,还要理解它们的含义。 【参考方案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>

【讨论】:

以上是关于试图在 laravel 5.5 中获取非对象的属性的主要内容,如果未能解决你的问题,请参考以下文章

试图在 Laravel 4 中获取非对象的属性

试图在laravel中获取非对象的属性'expiry_date'

错误:试图在 Laravel 中获取属性 ID 错误(非对象)

如何处理试图在laravel中获取非对象错误的属性?

如何修复“试图获取非对象的属性”Laravel 5

试图在 laravel 5.4 中获取非对象的属性