Есть модуль статьи. И у каждой статьи будут свои теги (как аналог категорий), хочу узнать ваши советы к следующему моменту.
Для выбора тегов я использую input поле, куда подгружаются сами теги (как jquery ui плагин), и на сервер приходит вот такая строка:
Друзья, Любовь, Семья, Природа
Далее я преобразую эту строку в массив с помощью explode и проверяю каждый тег на его существование. Если, собственно, строка содержит неизвестный тег, кидаем исключение, если все хорошо - собираем новую строку но уже с id.
1,2,3,4
Эта строка улетает в базу в поле tags.
Далее, например, нужно просмотреть все статьи, которые содержат тег Семья (ну, например, все теги с id 3).
Тут нужно использовать like поиск с регуляркой (чтобы если есть тег id1 и тег id11, выбрать нужный)?
Вообще, суть вопроса, так ли эти теги делать, или есть более изящный способ?
Если тегов не много можно создать отдельную таблицу с двумя полями: айди статьи и айди тега. Если всё же решите использовать LIKE, то учтите, что запрос LIKE 1 также вернет запись с tags: 11, 111, 121. Так что тут нужно использовать какие-то смежные символы, например писать не LIKE 1, а LIKE ",1,", оборачивая запятыми. Но опять же, лучше создать отдельную бд и join'ами делать запрос.