Поскольку у вас есть belongsToMany
отношение между User
и Company
, User
принадлежит более чем одному Company
. Получить пользователей компаний из конкретной User
не составит труда. Если вы уверены, что это именно то, что вы хотите, то сделайте следующее:
//inside the User model
public function companies()
{
return $this->belongsToMany('Company');
}
//inside the User model
public function companiesusers()
{
$users= new Illuminate\Database\Eloquent\Collection;
foreach($this->companies as $company)
{
$users = $users->merge($company->users->get());
}
return $users->unique();
}
//inside the Company model
public function users()
{
return $this->belongsToMany('User');
}
Тогда вы можете получить пользователя companiesusers
примерно так:
User::first()->companiesusers();