В моем приложении у меня есть таблица users
, в этой таблице есть поле с именем managedByUsername
, которое является именем пользователя этого конкретного менеджера пользователя.
Чтобы получить своих сотрудников специально, вы можете выполнитьзапросите следующее:
$employees = User::where('managedByUsername', auth()->user->username)->get()
Чтобы получить своего менеджера, в модели User вы могли бы иметь отношение;
public function mananager()
{
return $this->belongsTo(User::class, 'username', 'managedByUsername');
}
Однако я не могу думатькак бы вы сделали это наоборот?
Возможно
public function employees()
{
return $this->hasMany(User::class, 'username', 'managedByUsername');
}
Но это, очевидно, не сработает.
Я также попробовал следующее:
/**
* Get the manager for this user
*
* @return void
*/
public function mananager()
{
return $this->belongsTo(User::class, 'managedByUsername', 'username');
}
/**
* Get the manager for this user
*
* @return void
*/
public function employees()
{
return $this->hasMany(User::class, 'managedByUsername', 'username');
}