У меня есть следующие таблицы базы данных:Laravel 5 hasManyThrough повторяющихся строк содержание
tour
idtour
other_columns
day
idday
other_columns
tour_has_day
idtour
idday
Каждый тур имеет много дней, и дни могут быть использованы в других турах
Таким образом, в модели Tour.php добавить эту функцию:
function days() {
return $this->hasManyThrough('App\Day', 'App\Tour_has_day', 'idtour', 'idday');
}
Это дает мне правильное количество связанных дней, но все строки имеют одинаковое содержание
отладить запрос, он возвращает:
select
`day`.*,
`tour_has_day`.`idtour`
from `day`
inner join
`tour_has_day` on `tour_has_day`.`idtour` = `day`.`idday`
where
`tour_has_day`.`idtour` = '1'
И это возвращает
Это похоже на сводную таблицу, для которой было бы полезно использовать отношение «многие ко многим», а не «много-много». –
@JoelHinz Этот ответ ответ имейте это в виду. Спасибо – jsertx
Рад, спасибо. И я рад, что это помогло. –