проверкой на уникальность через правило "unique" ?
1- есть поле в базе $table->string('name')->unique();
2- есть валидатор 'name' => unique:table'
3- база pgsql
задача
независимо от того что в базе и в пользовательском вводе проверять на уникальность без учета регистра
сейчас уникальность работает вот так: база - 'test', ввод - 'test', а вот так не работает: база - 'test', ввод - 'Test', Постгре работает с учетом регистра.
Можно было бы привести значение к нижнему или верхнему регистру перед записью в базу, но нужно оставить значение как есть.
кто что думает про CITEXT модуль постгры и целесообразно ли его юзать в данном случае, чем аукнется?
Db::statement('CREATE EXTENSION IF NOT EXISTS citext');
Db::statement('ALTER TABLE teams ALTER COLUMN name TYPE citext');
Используй custom validation rule
В psql можно сделать индекс уникальный по полю приведенному в верхний или нижний регистр
Делаешь Request и там есть метод prepairValidation. Он изменняет данные на входе и передает их дальше в валидатор
Обсуждают сегодня