Разрешить поиск по тегам? - PullRequest
0 голосов
/ 22 июня 2009

Существует HTML-форма, с помощью которой пользователь создает элемент. Предметы ищутся с помощью обычного SQL-запроса. Теперь поле тега будет предоставлено для каждого элемента в форме HTML. Таким образом, при создании элемента пользователь будет вводить имя тега для элемента и элемент будет создан вместе с именем тега. Затем пользователь будет использовать это имя тега для поиска предметов.

Что может быть лучшим способом для реализации этого? Является ли добавление столбца тега к каждой таблице элементов хорошим способом для этого? Каковы другие возможные варианты?

Ответы [ 2 ]

0 голосов
/ 22 июня 2009

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

 item_tag
      item_id - Integer
      tag_name - Varchar

или две таблицы:

 item_tag
      item_id
      tag_id
 tags
      id
      name

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

 SELECT * FROM `items` LEFT JOIN `item_tag` ON `items`.`id` = `item_tag`.`item_id` WHERE `tag_name` = 'value'

Вот пост , в котором обсуждается лучший способ реализации системы тегирования, который предлагает использовать три таблицы; например, items, tags, items_tags

0 голосов
/ 22 июня 2009

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

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