mysql varchar not null
mysql varchar not null
Может это в mysql ошибка конечно.
Суть в том, что varchar not null в mysql проходит прекрасно "", то есть пустая строка не null.
Gii же при генерации модели что-то добавил в rules, что сохранить пустую строку в такое поле нельзя, ошибка : [поле] cannot be blank.
апд: required оно было. Убрал просто. Хотя если кто-то null туда передаст, то отвергнет уже на уровне mysql.
Суть в том, что varchar not null в mysql проходит прекрасно "", то есть пустая строка не null.
Gii же при генерации модели что-то добавил в rules, что сохранить пустую строку в такое поле нельзя, ошибка : [поле] cannot be blank.
апд: required оно было. Убрал просто. Хотя если кто-то null туда передаст, то отвергнет уже на уровне mysql.
-
- Сообщения: 1268
- Зарегистрирован: 2013.07.17, 17:37
Re: mysql varchar not null
отсыпь О_о
Re: mysql varchar not null
Я почитаю на досуге. Но можно сразу сказать, что именно я оттуда должен почерпнуть в связи с темой?anton44eg писал(а):http://habrahabr.ru/post/166411/
Re: mysql varchar not null
То, что можно заставить mysql вести себя по разному. В чем именно проблема у вас?
Re: mysql varchar not null
Я же описал. Нужно сделать запись пустой строки в varchar not null. Пришлось убрать из рулсов реквайред на это поле, надеюсь не отразится в будущем. Можно конечно свой валидатор написать который в случае если пустая строка говорит ок, а в случае если что-то другое посылает реквайреду. Но мне это пока не принципиально. Просто нашел то, что мне показалось ошибкой и подметил.
Re: mysql varchar not null
Если у вас незаполненное поле - как раз и прийдет пустая строка. Логично же все.
Re: mysql varchar not null
lancecoder, ты ?lancedevnull писал(а):отсыпь О_о
Re: mysql varchar not null
Тогда, если поведение mysql описанное мной является стандартным, на такое поле, как в теме разговора, gii должен ставить другой валидатор.anton44eg писал(а):Если у вас незаполненное поле - как раз и прийдет пустая строка. Логично же все.
Вот, почему я в этом разделе и написал.
Re: mysql varchar not null
Какой валидатор, предложите. Логика какая - в БД not null - значит обязательно нужно значение. Пользователь оставил поле пустым - пришла пустая строка, значит не ввел. Поэтому не пропускает. Ну и генерация моделей - дело такое. Всегда можно или свой генератор, или исправить под себя то, что вам не нравится.
Re: mysql varchar not null
Я пытаюсь донести одну вещь. Может в этот раз получится:
MySQL то пропускает пустую строку без проблем. Про что, я и говорю. Разве не логично, если БД пропускает, то и фреймворк должен пропускать. То есть не strlen($model->field)!=0 из правильного валидатора в случае, описанном мной должно получаться, a typeof($model->field) == 'String'Пользователь оставил поле пустым - пришла пустая строка, значит не ввел. Поэтому не пропускает.
- TranceSmile
- Сообщения: 562
- Зарегистрирован: 2011.06.27, 19:04
- Откуда: Украина
- Контактная информация:
Re: mysql varchar not null
strlen($model->field)!=0 ?! Да Вам уважаемый РНР надо получить.NEW_NAME писал(а):Я пытаюсь донести одну вещь. Может в этот раз получится:MySQL то пропускает пустую строку без проблем. Про что, я и говорю. Разве не логично, если БД пропускает, то и фреймворк должен пропускать. То есть не strlen($model->field)!=0 из правильного валидатора в случае, описанном мной должно получаться, a typeof($model->field) == 'String'Пользователь оставил поле пустым - пришла пустая строка, значит не ввел. Поэтому не пропускает.