基本上,需要解码/列表数据从集合数组

问题描述:

我有一个控制器如下 -基本上,需要解码/列表数据从集合数组

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()

-

Had to upload the image, as SO wasn't allowing to post dd() data.

它看起来并不像你有一个$转诊之间有任何关联,它是$孩子。

你可能想要做这样的:

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