Cphalcon: Невозможно сохранить пустую строку (не нуль) - phalcon говорит, что требуется значение

Созданный на 17 мая 2013  ·  3Комментарии  ·  Источник: phalcon/cphalcon

Как я могу сохранить только пустую строку в поле mysql varchar, которое не может быть нулевым? я не могу изменять поля базы данных и не хочу писать хардкод. Я не могу пропустить это, потому что многие действия в моем проекте требуют этого поля в модели. Например:

$model->field = ''; // empty string is a value.
$model->save(); // error

Самый полезный комментарий

$model->field = new \Phalcon\Db\RawValue('""');
$model->save();

см. здесь

Все 3 Комментарий

$model->field = new \Phalcon\Db\RawValue('""');
$model->save();

см. здесь

@nikolasha Большое спасибо за ссылку на предыдущий такой же пост.

Насчет этого решения - это действительно смешно. Чей больной мозг придумал эту идею? Вспомнил вопрос из stackoverflow "Как лучше посчитать сумму двух чисел?" и самый популярный (и он был отмечен как правильный) ответ был "Используйте плагины запросов, [список некоторых плагинов, где вам нужно создать объект для каждого числа и оператора]. Только нубы и идиоты считают сумму без объектов". В порядке. Давайте создадим объекты для каждого значения пустой строки. Хорошее решение.

Я попробую несколько способов повторно реализовать проверку, как сказал phalcon в предыдущем посте. Спасибо.

Но, с моей точки зрения, эта логика _ОЧЕНЬ_ странная. Комментарий для @phalcon - я оставлю его здесь, потому что предыдущая тема (связанная с текущей) закрыта. Если вы получаете пустые данные в моделях и если вы их сохраняете - все в порядке. Вам нужно реализовать (или указать) валидаторы, чтобы запретить это. В настоящее время логика непригодна для использования и очень сложна для понимания.

PS Возможно мое последнее сообщение не вежливо. Пожалуйста, расслабьтесь, больно смотреть, как любимый фреймворк реализует все более и более странные решения.

Ведение обсуждения в #440

Была ли эта страница полезной?
0 / 5 - 0 рейтинги