Я хочу попросить вас о лучшем решении для маршрутизатора.
У меня есть несколько таблиц в моей базе данных (статьи, страницы, категории и т. Д.), У которых есть идентификаторы.
Я хочу создать конкретный URL для каждого из них, например. /en/article/25-This-is-an-test-article
.
Но как избавиться от этого / article , / page , ...? Пользователи не хотят его видеть - он просто увеличивает длину URL ...
Моей первой идеей была простая таблица маршрутизатора:
CREATE TABLE `router` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`type` varchar(50) NOT NULL,
`entity_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
Но есть одна фатальная проблема - невозможно установить внешний ключ для столбца enitity_id, поскольку он должен ссылаться на большее количество столбцов, а это невозможно в SQL.
Мой вопрос:
Как вы думаете, я должен придерживаться этого решения (и игнорировать внешний ключ)
или я должен забыть об этом и добавить тип в URL?