Как добавить дополнительную информацию в отношение «многие ко многим»? - PullRequest
1 голос
/ 14 января 2009

Я пишу программу для управления заказами, а затем распечатываю их.

Заказ - это объект, содержащий лицо, заказывающее заказ, дату и продукты, которые заказывает этот человек. Я бы хотел добавить количество определенного товара одному заказчику. Например. 3 яйца, 2 хлеба.

Есть ли более простой способ сделать это с помощью шторма (ORM, который я использую), чем разделить заказ на более мелкие части, чтобы каждый заказ содержал только 1 продукт?

1 Ответ

3 голосов
/ 14 января 2009

Что не так с добавлением дополнительных столбцов в таблицу пересечений отношения «многие ко многим»?

CREATE TABLE orders (
  person_id INT NOT NULL,
  product_id INT NOT NULL,
  quantity INT NOT NULL DEFAULT 1,
  PRIMARY KEY (person_id, product_id),
  FOREIGN KEY (person_id) REFERENCES persons(person_id),
  FOREIGN KEY (product_id) REFERENCES products(product_id)
);

Если вы используете ORM, который не может получить доступ к дополнительным столбцам в этой таблице при выполнении запросов «многие ко многим», вы все равно сможете получить к нему доступ как к простой таблице products или persons.

...