Как праверить переменую на уникальнойсть через beforevalidate()

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Как праверить переменую на уникальнойсть через beforevalidate()

Сообщение alexa777 »

Привет. Задача такая, надо проверить переменную url до добавления в базу на уникальность.
В rules модели я поставил [['url'], 'unique'], в базе этому поле тоже присвоил unique

Теперь сижу и думаю как правильно написать функцию, чтобы проверять url на совпадение и если ОНО есть, добавлять 2, 3 и т.д

Подскажите люди добрые, как это правильно осуществить? я так понимаю нужно использовать

Код: Выделить всё

  public function beforeValidate() {
        parent::beforeValidate();

    }
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Как праверить переменую на уникальнойсть через beforevalidate()

Сообщение andku83 »

SluggableBehavior - вам в помощь
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Как праверить переменую на уникальнойсть через beforevalidate()

Сообщение alexa777 »

shnir писал(а): 2018.02.21, 18:32 SluggableBehavior - вам в помощь
Спасибо Вам добрый человек)
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Как праверить переменую на уникальнойсть через beforevalidate()

Сообщение alexa777 »

shnir писал(а): 2018.02.21, 18:32 SluggableBehavior - вам в помощь
Установил, попробовал и понял что с русскими словами он не дружит и надо танцы с бубнами применять? или я что то не так понял?
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Как праверить переменую на уникальнойсть через beforevalidate()

Сообщение andku83 »

нужен intl и ICU, на большинстве серверов они имеются, а локально вам нужно будет их доустановить
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Как праверить переменую на уникальнойсть через beforevalidate()

Сообщение alexa777 »

shnir писал(а): 2018.02.21, 19:43 нужен intl и ICU, на большинстве серверов они имеются, а локально вам нужно будет их доустановить
Спасибо
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Как праверить переменую на уникальнойсть через beforevalidate()

Сообщение alexa777 »

alexa777 писал(а): 2018.02.21, 20:09
shnir писал(а): 2018.02.21, 19:43 нужен intl и ICU, на большинстве серверов они имеются, а локально вам нужно будет их доустановить
Спасибо
Заработало, спасибо большое
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Как праверить переменую на уникальнойсть через beforevalidate()

Сообщение alexa777 »

shnir писал(а): 2018.02.21, 19:43 нужен intl и ICU, на большинстве серверов они имеются, а локально вам нужно будет их доустановить
А ты не в курсе как сделать чтобы при обновлении, не изменялся slug, потому что если при редактировании изменять title то slug меняется. Это не приемлемо для SEO
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Как праверить переменую на уникальнойсть через beforevalidate()

Сообщение alexa777 »

ElisDN писал(а): 2018.02.22, 08:05 'immutable' => true
спасибо
Ответить