基本上,需要解码/列表数据从集合数组
问题描述:
我有一个控制器如下 -基本上,需要解码/列表数据从集合数组
public function referrals()
{
$referrals = Users::all()->where('referrer', Auth::user()->mobileNumber);
foreach($referrals as $referral) {
$children[] = Users::all()->where('referrer', $referral->mobileNumber);
}
return view('referrals', compact('referrals','children'));
}
的方法,我在一个视图中显示所得到的数据如下:
@foreach($referrals as $referral)
@if($referral->firstName !=="")
<div class="col-md-3">
<h3>
{{ $referral->firstName.' '.$referral->lastName.' ('.$referral->mobileNumber.')' }}
@else
Empty
</h3>
@endif
@foreach($children as $child)
<h5>
{{ $child->firstName.' '.$child->lastName.' ('.$child->mobileNumber.')' }}
</h5>
@endforeach
</div>
@endforeach
引荐部分显示正确,但子部分未显示。在使用$children[]
之前,我使用了children
,我能够显示数据,但最后一次迭代的结果集覆盖了整个结果集。
dd()
-
答
它看起来并不像你有一个$转诊之间有任何关联,它是$孩子。
你可能想要做这样的:
public function referrals()
{
$referrals = Users::all()->where('referrer', Auth::user()->mobileNumber);
foreach($referrals as &$referral) {
$referral->children = Users::all()->where('referrer', $referral->mobileNumber);
}
return view('referrals', compact('referrals'));
}
然后在喜欢你的观点迭代:
@foreach($referrals as $referral)
<div class="col-md-3">
@if($referral->firstName !=="")
<h3>
{{ $referral->firstName.' '.$referral->lastName.' ('.$referral->mobileNumber.')' }}
@else
Empty
</h3>
@endif
@foreach($referral->children as $child)
<h5>
{{ $child->firstName.' '.$child->lastName.' ('.$child->mobileNumber.')' }}
</h5>
@endforeach
</div>
@endforeach