Добавление только уникальных ссылок в базу

Рейтинг: 0Ответов: 1Опубликовано: 25.02.2015

Возник небольшой вопрос про url. Я сделал в базе в таблице поле url, при добавлении я пишу, например, в поле адреса nazvanie и получаю такой урл:

blog/category/**nazvanie**

При следующем добавлении получается, что я снова могу добавить nazvanie, и оно будет дублировать предыдущее. Так вот, как сделать, чтобы не было одинаковых? Я думаю делать каждый раз проверку добавляемого имени - есть ли такое уже в базе. Если нет, то добавлять. Может быть, есть еще какие-то варианты?

Ответы

▲ 1

Механизм Sluggable необходим для транслитерации кириллицы в латиницу. В Вашем случае для создания ЧПУ.

@msi верно заметил, что поле url необходимо сделать уникальным, но выброс исключения и последующая обработка, в корне неверное решение. Необходимо дополнительная проверка на уникальность URL-а (дополнительный запрос). В большинство фреймворков встроен механизм создания slug и его проверки, к примеру, yii2 это делает через поведения