Как передать параметр в модель отношений в laravel

Я пытаюсь получить профиль пользователя с ветками пользователей и рабочее время для каждой ветви.
Я застрял, так как модель отношений WorkingHours возвращает рабочее время для всех пользователей, связанных с филиалом, я не могу найти способ получить рабочее время для текущего пользователя, связанного с филиалом.

У меня есть три таблицы:

Users (users)
id
firstname
lastname

Branch (branch)
id
user_id
branch_name

Branch Users  (branch_users)
id
branch_id
user_id

Branch Working Hours  (working_hours)
id
branch_id
user_id
day
time_from
time_to

UserController: —

$user_id = $userId;
$data['doctorProfile'] = User::select(
'id',
'firstname',
'lastname'
)
->with([
'branches' => function($query){
$query->select(
'user_id',
'branch_id'
)
->whereHas('branch', function($q){
$q->where('status',1);
});
}
])
->find($userId);

Модель пользователя: —

public function branches()
{
return $this->hasMany('App\Model\Api\BranchUser', 'user_id', 'id')->with([
'branch' => function($query){
$query->select(
'id',
'branch_name'
);
},
'workingHours' => function($query){
$query->select(
'branch_id',
'user_id',
'day',
'time_from',
'time_to'
);
}
]);
}

Модель пользователя филиала: —

public function branch()
{
return $this->belongsTo('App\Model\Api\Branch', 'branch_id', 'id');
}

public function workingHours()
{
return $this->hasMany('App\Model\Api\WorkingHour', 'branch_id', 'branch_id');
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]