Правильно, таблица ссылок, такая как attribute_product, связывает только 1 экземпляр с 1 экземпляром, и ваши продукты могут иметь несколько атрибутов, поэтому модель не работает.
То, что вы называете attribute_product, - это то, что большинство людейсказал бы продукт.Это вещь, которая имеет цену.Поэтому я бы назвал это «продуктами».Возможно, то, что вы называете продуктами, это product_categories.
Таким образом, таблицы атрибутов будут для него дочерними таблицами.
- product_categories (id, desc) - например."Дерево"
- продуктов (id, name, desc, category_id, price) - например.«Дерево: 3x5 мм красный»
- атрибуты (id, name, desc, type) - например.«толщина»
- product_attributes (id, product_id, attribute_id, value) - несколько строк для продукта;например."3мм" "красный"