Соедините стол со многими ко многим столам - PullRequest
0 голосов
/ 05 июля 2019

У меня есть таблица «многие ко многим» из товаров и компаний, и я хочу связать ее с таблицей «один ко многим» company_good

+----------------+------------+
|    company_ID    | good_ID |
+----------------+------------+
| 1              |       1    |
| 2              |       1    |
| 2              |       2    |
+----------------+------------+

продажа

+----------+----------------+--------------+----------+
|    id    |      date      |  company_id  |  good_id |
+----------+----------------+--------------+----------+
| 1        |  2019-02-01    |      1       |     1    |
| 2        |  2019-02-01    |      2       |     1    |
| 2        |  2019-02-01    |      1       |     1    |
+----------+----------------+--------------+----------+

Что я хочу спросить, есть ли какая-либо колонка имен по продажам, основанная на правиле laravel? я знаю, когда таблица posts хочет подключить ее к таблице users, имя таблицы post должно быть user_id. но в этом случае, как я могу назвать это?

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Я предлагаю добавить столбец id в таблицу company_good и назвать соответствующую модель как CompanyGood, а вместо company_id и good_id в sales использовать таблицу company_good_id столбец

0 голосов
/ 05 июля 2019

Во-первых, вы обязательно захотите использовать Eloquent для этого.

Имена столбцов могут быть такими, как вы хотите. Когда вы устанавливаете метод модели «многие ко многим», вы можете определить соответствующие имена столбцов в нем

Вот выдержка из документации Laravel:

Помимо настройки имени присоединяемой таблицы, вы также можете настроить имена столбцов ключей на таблице, передав дополнительные аргументы для метода assignToMany. Третий аргумент это имя внешнего ключа модели, для которой вы определяете отношения, в то время как четвертый аргумент является именем внешнего ключа модель, к которой вы присоединяетесь:

вернуть $ this-> ownToMany ('App \ Role', 'role_user', 'user_id', 'ROLE_ID');

Подробнее на https://laravel.com/docs/5.8/eloquent-relationships#many-to-many

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...