代码之家  ›  专栏  ›  技术社区  ›  mattalxndr

将字段设置为空时,长度出现意外错误

  •  0
  • mattalxndr  · 技术社区  · 15 年前

    我有一个字段定义如下:

    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 回复  |  直到 15 年前
        1
  •  0
  •   mattalxndr    15 年前

    上面的代码示例并不是全部。我被之前的一个save误导了,在这个save中meta\u description字段被重载了超过255个字符。虚惊一场!

    推荐文章