试图在 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' => $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中获取非对象的属性'expiry_date'