Я новичок в Laravel и Eloquent (и у меня есть минимальный опыт работы с ORM в целом).Eloquent/Laravel Трёхсторонняя связь «многие-ко-многим»
Скажем, у меня есть три таблицы базы данных:
- Widgets
- действие
- Пользователей
Я смоделированная одну таблицы перехода, которая имеет столбцы:
widget_id
action_id
user_id
- метка времени
Точка перехода должна вести журнал взаимодействий - принять метку времени каждый раз, когда user
выполняет action
на widget
. Я вижу, как моделировать простые отношения «многие-ко-многим» с использованием Eloquent и прекрасно работать, но я не уверен, как моделировать более сложные трехсторонние отношения.
Впрочем, даже если бы я просто много-ко-многим (скажем widget
к action
так что бы таблица называется action_widget
), как я могу добавить явную модель для action_widget
таблицы в красноречив, для цель отслеживания дополнительных данных о каждой связи (например, отметка времени, поле комментариев и т. д.). Или, я просто иду об этом совершенно неправильно?
Будучи новым для ORM, я чувствую себя очень ограниченным тем, что я могу сделать! Уходит ли это чувство? : p
Спасибо, используя пользовательскую модель, определенно кажется лучшим решением здесь. – Raolin
Не могли бы вы немного рассказать о том, как вы это сделаете? Я столкнулся с подобной проблемой, но я недостаточно знаю об Eloquent, чтобы следовать ей, и документы недостаточно хороши. – Mcg1978
hasManyThrough не работает для этого случая. Потому что hasManyThrough не возвращает отношение, а только значение третьего атрибута. – Mesuti