Путаница в отношениях Laravel

#laravel-5 #relationship

#laravel-5 #отношения

Вопрос:

Мне нужна помощь с отношениями в Laravel 5.3.

У меня есть 3 таблицы: группы (group_id, group_name) предприятия (business_id, business_name) платежи (payment_id, дата)

В группе может быть много предприятий, в созданной мной модели belongsToBusiness

Бизнес может принадлежать многим группам, в созданной мной модели belongsToGroup

Я создал сводную таблицу: business_group (business_id, group_id)

Платеж принадлежит одной группе и одному бизнесу.

Когда пользователь просматривает группу, мне нужно отобразить платежи для группы с названием компании для каждого платежа.

Когда пользователь просматривает бизнес, мне нужно отобразить платежи для бизнеса с именем группы.

В этот момент я был ошеломлен и сбит с толку.

Какие отношения я использую для платежей?

Это один из них? Имеет много сквозных, полиморфных отношений, многие ко многим полиморфным отношениям

Если да, то какой из них?

Кто-то предложил мне добавить поле id в сводную таблицу business_group, а затем поле business_group_id в таблицу платежей. Как мне настроить отношения в моделях, если я это сделаю?

И как мне получить данные для отображения платежей?

Может кто-нибудь, пожалуйста, помочь?

Комментарии:

1. Если ваш платеж имеет одну группу и один бизнес, вам следует обновить таблицу платежей следующим образом — payment_id, business_id, group_id, дата. Тогда в вашей платежной модели он должен принадлежать (бизнесу) и принадлежать (группе). В вашей бизнес-модели должно быть много (платежей), чтобы получать все платежи этого бизнеса.

2. Спасибо, я так и подумал, но мне было предложено добавить идентификатор в сводную таблицу, чтобы избежать дублирования данных. Но я думаю, я пойду так, как вы предложили.