我有两张表(用户和公司)。用户具有不同的角色(购物者、分发者、管理员…)。我为购物者和分销商提供了一个有效的解决方案。我在为分销商用户设置第二个关系时遇到问题。在用户表中,我为购物者提供了公司ID密钥。在公司表中,我有分销商的主分销商ID密钥
关系:一个公司可以有多个购物者用户。一个购物者用户可以被指定为一个公司。
一个公司可以有一个经销商。一个分销商可以指定给多个公司。
用户模型:
public function company() {
return $this->belongsTo(Company::class);
}
public function mainDistributorCompanies() {
return $this->belongsTo('App\Company','main_distributor_id','id');
}
公司模式:
public function users() {
return $this->hasMany(User::class, 'company_id');
}
public function mainDistributorUsers() {
return $this->hasOne('App\User','id','main_distributor_id');
}
公司负责人:
public function index(Request $request) {
$companies = Company::with('mainDistributorUsers')->get();
return view('companies/index', compact('companies'));
}
公司索引视图:
@foreach($companies as $company)
<tr>
<td>{{ $company->index }}</td>
<td>{{ $company->name }}</td>
<td>{{ $company->address }}</td>
<td>{{ $company->mainDistributorUsers->username }}</td>
<td>{{ $company->mainDistributorUsers()->username }}</td>
<td>{{ $company->username }}</td>
</tr>
@endforeach
我是否为经销商选择了错误的关系?错误命名?