Я пытаюсь запросить одну из моих отношений модели в системе расписания, которую я создаю. У меня есть следующие модели установка:Laravel 5 модели запросов запросов
User
может иметь много расписаний и может принадлежать ко многим типам сотрудниковTimesheet
могут иметь множество строк
модели настроены следующий образом:
Модель пользователя:
<?php namespace App\Models\User;
....
class User extends Model implements AuthenticatableContract, CanResetPasswordContract {
/**
* The employee types that belong to the user.
*
* @return Object
*/
public function employeeTypes()
{
return $this->belongsToMany('App\Models\User\EmployeeType')->withTimestamps();
}
Timesheet Модель:
<?php namespace App\Models\Timesheet;
....
class Timesheet extends Model
{
/**
* The user that owns the timesheet.
*
* @return Object
*/
public function user()
{
return $this->belongsTo('App\Models\User\User');
}
Мой вопрос, как я могу запросить отношения пользователя и получить табели по employee_type
. Это означает, что мне нужно получить доступ к таблице timesheet
, а затем получить пользователей, связанных с расписанием, а затем получить пользователей по типу сотрудника, который я укажу.
Я попытался следующие ...
$timesheets->with('user')->whereHas('employeeTypes', function ($query) use ($request) {
$query->where('name', 'my_employee_type');
});
... но он дает ошибку ...
Ошибка:
Call to undefined method Illuminate\Database\Query\Builder::employeeTypes()
Кто-нибудь знает, как я добиться этого?