У меня есть таблица MySQL под названием content, в которой хранятся данные контента для системы управления контентом.
ПРИМЕЧАНИЕ. Весь контент организован в иерархию с использованием столбца родительского идентификатора.
+----+------------+-----------------+--------+
| id | slug | content_type_id | parent |
+----+------------+-----------------+--------+
| 1 | portfolio | 5 | 0 |
| 2 | about-us | 1 | 0 |
| 3 | find-us | 1 | 0 |
| 4 | contact-us | 1 | 2 |
| 5 | find-us | 1 | 4 |
+----+------------+-----------------+--------+
Мне нужен запрос, чтобы выбрать правильную строку в таблице в зависимости от того, как называется слаг.Проблема в том, что слизни имеют одинаковое имя.
У меня есть два возможных пути, которые пользователь может посетить:
/find-us/
и
/about-us/contact-us/find-us/
Я могу подуматьодного решения:
, который должен создать другой столбец с полными путями:
full_path
--------
/portfolio/
/about-us/
/find-us/
/about-us/contact-us/
/about-us/contact-us/find-us/
Но есть ли какие-нибудь умные методы, которые я могу использовать, чтобы выбрать правильную строку.Я не уверен, что создание другого столбца с полными путями - это отличная идея (потому что они могут измениться), лично я хотел бы использовать это только в качестве крайней меры.
Спасибо.