Оказывается, мне не нужно использовать hasManyThrough. Я только что объявил hasMany на своем мастер-файле сайта так:
public function restdays()
{
return $this->hasMany( 'App\ref_restdays', 'region', 'region');
}
тогда я просто использую вложенную нетерпеливую загрузку 1005 * в своем запросе, используя синтаксис dot .
вот мой последний запрос, в последней строке я просто ссылаюсь на site.restdays, чтобы получить список дней отдыха.
$employees = hr_employee::select(
'hr_employee.id',
'empno',
'first_name',
'family_name',
'empstatus',
'empstatus_eff_date',
'contcatg_code',
'post_title_code',
'cs',
'group_initial_joined',
'returned_date',
'mcat2',
'othours1',
'othours2',
'othours3'
)
->where([
['empno','=',$empno]
])
->with(['catg', 'post', 'site.restdays'])
->get();