Вопрос
Я хочу получить соответствие schedule
из его таблицы для availability
, используя shift_id
в таблице availabilities
.
Доступность уже сводная таблица между users
и shifts
.
Я думал, что отношение hasOneThrough - это путь к go, но я не могу заставить его работать.
Что я делаю не так?
Таблицы
Доступность
- идентификатор
- user_id
- shift_id
- ...
Смены
- id
- schedule_id
- ...
Расписания
- id
- ...
Модель доступности
public function schedule()
{
return $this->hasOneThrough(
'App\Schedule',
'App\Shift',
'schedule_id',
'id',
'shift_id',
'id'
);
}
Проблема Каким-то образом, когда я использую PHP Artisan Tinker, я получаю расписание с идентификатором Availability.id вместо расписания с идентификатором shift.id. Поскольку этот график не существует, я получаю
$ Availability = App \ Availability :: find (1331);
$ Availability → schedule () → get ();
Подсветить \ База данных \ Eloquent \ Collection {# 3111
все: [],
}