Неожиданная ошибка проверки доктрины о длине при установке поля в ноль - PullRequest
0 голосов
/ 24 августа 2010

У меня есть поле, которое определяется следующим образом:

class Subcategory extends BaseSubcategory {}

abstract class BaseSubcategory extends Doctrine_Record
{
    public function setTableDefinition()
    {
        // ...
        $this->hasColumn('meta_description', 'string', 255);
        // ...
    }

    // ...
}

Вот как выглядит таблица:

mysql> DESCRIBE subcategory;
+----------------------+------------------+------+-----+---------+----------------+
| Field                | Type             | Null | Key | Default | Extra          |
+----------------------+------------------+------+-----+---------+----------------+
| id                   | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
[...]
| meta_description     | varchar(255)     | YES  |     | NULL    |                |
[...]
+----------------------+------------------+------+-----+---------+----------------+
10 rows in set (0.00 sec)

Вот мой код для сохранения записи

$m = new Subcategory;
// ...
$m->meta_description = null;
$m->save();

Я получаю следующую ошибку проверки

* 1 validator failed on meta_description (length)

Почему это происходит?

1 Ответ

0 голосов
/ 24 августа 2010

Приведенные выше примеры кода не рассказывают всей истории. Меня сбило с толку предыдущее сохранение, в котором поле meta_description было перегружено более чем 255 символами. Ложная тревога!

...