Jump to content
  • 0

Мультикатегории


solovin1986
 Share

Question

Делаю двиг для своего интернет магазина на базе фреймворка и задался вопросом как сделать мультикатегории (чтобы товар мог быть в нескольких категориях).

1) В движке ДЛЕ организовано в таблице новостей поле 'category' в котором записи типа '1,4,6'

2) Я думаю сделать связующую таблицу. Просто получается что если товаров будет например 100 000 то записей в связующей таблице может быть в несколько раз больше

Как будет эффективнее?

Edited by solovin1986
Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

вовсе необязательно для этого создавать таблицу, достаточно создать связующее поле, в котором будет храниться id того раздела, с кем он связан.

Да а если один товар относится к нескольким разделам?

Link to comment
Share on other sites

  • 0

я думаю что связующая таблица будет оптимальнее.. Например не нужно дополнительно обрабатывать поле в котором хранятся ID категорий, а сразу делать выборку в запросе. Правильная организация индексов и кеширования намного прибавят скорости

Link to comment
Share on other sites

  • 0

Да а если один товар относится к нескольким разделам?

да, тогда действительно придется видимо создавать отдельную таблицу, к тому же наверняка в ней кроме связи могут быть еще какие-то полезные поля, может производители, или там топ товар, или со скидкой... да мало ли! хотя я че-то не могу понять, как один товар может быть в разных категориях? может пересмотреть структуру разделов?

Link to comment
Share on other sites

  • 0

да, тогда действительно придется видимо создавать отдельную таблицу, к тому же наверняка в ней кроме связи могут быть еще какие-то полезные поля, может производители, или там топ товар, или со скидкой... да мало ли! хотя я че-то не могу понять, как один товар может быть в разных категориях? может пересмотреть структуру разделов?

Как простой пример раздел новинки -> бытовая химия.

Edited by solovin1986
Link to comment
Share on other sites

  • 0

Как простой пример раздел новинки -> бытовая химия.

ну вот, как я и говорил, вот для таких целей как мне кажется лучше будет создать отдельную таблицу, но не совсем такую какую вы хотели:

table:new_product - id; id_svyaz_category; property_product...

table:top_product - id; id_svyaz_category; property_product...

table:manufacturer_product - id; id_svyaz_category; property_product...

ну это так, как бы все бегло и поверхностно, но идея в том что бы для таких вот целей, как новинка, топ, производители, скидка организовывать отдельную таблицу в которой хранить связь с самим товаром и хранить отдельные дополнительные св-ва товара.

Link to comment
Share on other sites

  • 0

Как простой пример раздел новинки -> бытовая химия.

ну вот, как я и говорил, вот для таких целей как мне кажется лучше будет создать отдельную таблицу, но не совсем такую какую вы хотели:

table:new_product - id; id_svyaz_category; property_product...

table:top_product - id; id_svyaz_category; property_product...

table:manufacturer_product - id; id_svyaz_category; property_product...

ну это так, как бы все бегло и поверхностно, но идея в том что бы для таких вот целей, как новинка, топ, производители, скидка организовывать отдельную таблицу в которой хранить связь с самим товаром и хранить отдельные дополнительные св-ва товара.

А можно и не плодить таблицы и запихать всё в одну просто добавив поле которое может их классифицировать по: new_product, top_product, manufacturer_product

table: id, id_product, id_category, property_product и т.д. B при этом совершенно спокойно можно добавлять записи с одинаковыми id_product и разными id_category

Link to comment
Share on other sites

  • 0

А можно и не плодить таблицы и запихать всё в одну просто добавив поле которое может их классифицировать по: new_product, top_product, manufacturer_product

table: id, id_product, id_category, property_product и т.д. B при этом совершенно спокойно можно добавлять записи с одинаковыми id_product и разными id_category

ну в принципе да, как вариант.

Link to comment
Share on other sites

  • 0

А можно и не плодить таблицы и запихать всё в одну просто добавив поле которое может их классифицировать по: new_product, top_product, manufacturer_product

table: id, id_product, id_category, property_product и т.д. B при этом совершенно спокойно можно добавлять записи с одинаковыми id_product и разными id_category

ну в принципе да, как вариант.

Ок вариант свыше не хорош.

Например зажигалка может быть в категории для курильщиков, в категории для поджигателей и тд. :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy