我的application.ie中有一个参考系统,一个用户可以修改另一个用户。
用户表
id name
1 A
2 B
3 C推荐表
id referrer_id referee_id
1 1 2
2 2 3我想显示用户的推荐。
用户模型
public function referrals()
{
return $this->hasMany('App\Models\Referral','referee_id','id');
}推荐模型
public function referrer_user()
{
return $this->belongsTo('Modules\User\Models\User','referrer_id','id');
}
public function referee_user()
{
return $this->belongsTo('Modules\User\Models\User','referee_id','id');
}在用户模型中定义hasMany关系和在推荐模型中定义belongsTo关系,我无法得到所需的结果。
@foreach($user->referrals as $key => $referral)
{{dd($referral->referee_user->name)}}
@endforeach这将返回用户的名称(推荐者),而不是裁判员。
发布于 2017-08-01 10:16:56
你指的ManyToMany关系是错误的。
无论如何,下面的方法会更容易、更有效率。
id name referred_by
1 abc null
2 def 1
3 gfd 2用户模型
/**
* Who did he bring onboard?
*/
public function referrals(){
return $this->hasMany('....User', 'referred_by');
}
//Who brought him onboard..
public function referree(){
return $this->belongsTo('...User', 'referred_by');
}只需检查适当的语法即可。
https://stackoverflow.com/questions/45434554
复制相似问题