В моем бэкэнде у меня есть таблица, в которой я храню события (действия).
После некоторых исследований я решил сохранить первичный ключ как автоинкрементный первичный ключ, потому что он выглядит значительно быстрее, чем сохранение его как UUID.
Теперь в своем интерфейсе я хочу создать маршрут для отображения профиля события.
Вместо того, чтобы иметь маршрут как: xyz.com/events/1
,
Я бы предпочел скрыть идентификатор, показывая уникальную строку, в которой отображается имя события, но таким образом, чтобы он формировал уникальную строку, которую я могу запросить в моей базе данных.
Я заметил, что некоторые веб-сайты (включая Facebook) могут это сделать.
Они показывают, например. firstname.lastname
с номером после этого.
Каков наилучший способ достичь этого?
Как создать уникальную строку из имени события, которое я могу запросить?
В таблице событий я бы сохранил дополнительный уникальный слаг (созданный при сохранении события).
F.E. «Некоторое великое событие» имеет слаг «некоторое великое событие».
Если слизняк не является уникальным, то необходимо дополнительное различие, например «Некоторые пра-событийно-2».
Плагин используется для подготовки ссылки и в качестве идентификатора для запроса записи в базе данных.
Есть много библиотек для генерации слизней, проверьте github.
Других решений пока нет …