Имея недостаток мозга с отношением между тремя объектами, надеясь, что кто-то может мне помочь.Трехсторонние отношения в Ларавеле
У меня есть четыре модели: Team
, User
, ProjectType
и Project
Team
имеет многоUser
, имеет многоProjectType
User
принадлежит ко многомуTeam
, имеет многоProjectType
ProjectType
принадлежит многиеUser
, принадлежит многимTeam
, имеет многоProject
Project
принадлежитProjectType
Как один пользователь может принадлежать многим командам, я хочу просить ProjectTypes
что User
имеет доступ, но только в пределах Team
они в настоящее время вошли в систему с. Может быть, User
имеет доступ к типам проектов в нескольких командах, но будет входить только в одну команду в любое время, поэтому мне нужно только это подмножество.
Я надеюсь, что эта структура имеет смысл, но я изо всех сил, чтобы получить доступ к данным, я хочу легко
Так что я хотел бы сделать $user->projectTypes
и получить все типы проектов для этого пользователя, но только подмножество команды, с которой они в настоящее время вошли в систему.
Точно так же, как только у меня это получилось, я хочу получить $user->projectTypes->projects
внутри этого набора.
Я хотел бы сделать это, сохранив при этом все хорошие методы отношений, которые я получаю с Laravel, но я стараюсь настроить структуру данных для поддержки этого и получить данные по очереди.
Стоит добавить, что я использую Laravel 4.2, но я его не отделяю, и при необходимости можно обновить до 5.x, чтобы получить эту функциональность.
Отъезд областей запроса Laravel в. Я использовал их для чего-то очень похожего. Вместо того, чтобы просто работать с отношениями, вы «предварительно» фильтруете результаты запроса $ user, чтобы показывать только те, которые связаны с teamId. – retrograde