Александр Лыкасов @lykasov-aleksandr
Периодически использую в Yii расширение Zelenin\yii\behaviors\Slug для генерации slug, но никогда не заглядывал "под капот" как оно там работает. Сейчас заглянул - автор в цикле добавляет к сгенерированному slug число и проверяет нет ли такой записи в таблице.
Исходя из комментария, остановился на следующем решении:
Это да. Нужно немного другое.
В таблице 3 колонки:
Id, name, slug
Все поля уникальны
В колонке slug могут быть только безопасные символы: буквы, цифры и тире
В колонке name могут быть любые символы
Если в name записывается "Кот", то для slug это будет "kot"
А если name будет "Кот!", то slug будет опять "kot"
И вот этих разных, но одинаковых котов и хотелось бы записать в базу как разных, не добавляя к хвосту timestamp или подобное.
А просто kot, kot-1, kot-2 итд. Если.
Понятна идея? Или я путанно объясняю?
Slava Rozhnev, в бд есть 2 колонки id и name 1 | кот
2 | пёс
3 | снеговик
если в таблицу вставляется слово, которого в таблице нет, - оно так и вставляется: 4 | новое слово
а если в таблицу вставляется "кот" ещё раз, - то хотелось бы, чтобы кот вставился как "кот-2" 5 | кот-2
А если этих котов 500? каждый раз в цикле дёргать бд, чтобы вставить 501-го кота?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Исходя из комментария, остановился на следующем решении: