如何根据条件获取所有用户并将此结果与 Laravel eloquent 中的另一个条件进行比较

问题描述

我有一个用户

被引用的列:

enter image description here

我有第 1 步用户的视图,例如 referred_by=auth::user()->id

在这里,通过此用户推荐链接注册的人将显示在此表中:

enter image description here

我对第 2 步有另一个看法

在这里,如果有人通过他们的引荐链接注册,那么无论谁在第 1 步中,他们的数据都会显示在第 2 步视图中:

enter image description here

现在问题是在第 2 步中,我只能获得一个用户数据,即 101 个用户都通过此用户推荐链接注册,但我还有一个用户应该在第 2 步视图中,因为该用户注册通过使用第 1 步用户推荐链接之一....但我无法让这两个用户成为所有推荐用户....我只能获得一个用户推荐用户...

这是我的控制器代码

公共函数referral_report(){ $referral_report = User::where('referred_by',Auth::user()->id)->orderBy('id','desc')->paginate(10);

    return view('affiliate.referral_report',compact('referral_report'));
}

 public function referral_report2(){
   
   $referral_reportt =User::where('referred_by',Auth::User()->id)->first();
    
    if($referral_reportt != null){
   $referral_report2 = User::where('referred_by',$referral_reportt->id)->paginate(10);}
 
    return view('affiliate.referral_report2',compact('referral_report2'));
}

解决方法

我只是使用 where 而不是 where 并获取数组中的 id

public function referral_report2(){
   $referral_reportt =User::wherein('referred_by',Auth::User()->id)->get('id')->toarray('id');
 $referral_report2 = User::wherein('referred_by',$referral_reportt)->paginate(10);
 return view('affiliate.referral_report2',compact('referral_report2'));
}