意外学说验证错误
问题描述:
我有一个定义为字段如下:意外学说验证错误
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)
这是怎么发生的?
答
上面的代码示例没有说明整个故事。我被前面的保存误导,其中meta_description字段超过255个字符。虚惊!