У меня есть таблица с такой структурой.
user_company
user_id
company_id
user_dispensary
user_id
dispensary_id
user_group
user_id
group_id
// User.php
public function groups()
{
return $this->belongsToMany(Group::class,'user_group','user_id');
}
public function dispensary()
{
return $this->belongsToMany(Dispensary::class, 'user_dispensary', 'user_id');
}
public function company()
{
return $this->belongsToMany(Company::class, 'user_company', 'user_id');
}
// Company.php
public function dispensary()
{
return $this->hasMany(Dispensary::class);
}
public function users()
{
return $this->belongsToMany(User::class, 'user_company', 'company_id');
}
// Dispensary.php
public function company()
{
return $this->belongsTo(Company::class);
}
public function users()
{
return $this->belongsToMany(User::class, 'user_dispensary', 'dispensary_id');
}
Я пробовал это, чтобы получить пользователей компании, где пользователь.
\Auth::user()->company()->first()->users
Но я хочу получить записи всех пользователей в компании, где текущий зарегистрированный пользователь, вместе со своими группами и пользователей диспансеров, где эти диспансеры принадлежат компании, в которой находится текущий пользователь.