【发布时间】:2017-09-25 13:41:21
【问题描述】:
我有一个这样定义的路线:
Route::get('/buyer_home', function(){
$senders = \App\Message::where(['to' => \Auth::guard('web_buyer')->user()->username])->distinct()->get(['from']);
$sellers = array();
foreach ($senders as $sender) {
$sellers[] = \App\Seller::where('email', $sender->from)->get();
}
return view('buyer.home', compact('sellers', 'senders'));
});
我需要在我的视图中访问sellers 表/模型的列/属性以建立这样的条件:@if(sender->from == seller->email)。但我得到了
此集合实例上不存在属性 [电子邮件]。
当我尝试在@foreach 循环中访问每个sellers 结果的email 属性时出现错误消息。我的意图是将sellers 的列表传递给视图,并且只有那些电子邮件与email 匹配的卖家从$sender->from 返回。我该如何解决这个问题?
编辑:
这是引发错误的我的视图代码的 sn-p:
<div class="list-group">
@foreach($sellers as $seller)
<a href="#" class="list-group-item">From: {{ $seller->email }}</a>
@endforeach
</div>
【问题讨论】:
-
你能在你的代码中指出它抛出这个错误的地方吗?
-
"collection instance" 让我认为您正在尝试访问作为 Laravel Collection 对象而不是特定卖方模型对象的对象的电子邮件属性。但我同意@FelippeDuarte,我们需要查看更多您的代码,特别是您收到此错误的行
-
嗨,@FelippeDuarte 和 victor,我更新了问题