Yii2:防止ActiverRecord属性中的空字符串

rob*_*sch 8 mysql validation activerecord model yii2

什么是防止空字符串插入MySQL的InnoDB表的字段的最佳方法?允许的值是字符数大于零的字符串或NULL.

我问这是因为ActiveRecord模型对象经常加载了视图的表单数据,这些表单数据不知道,因此不会发送NULL值.在这种情况下,我宁愿存储NULL而不是空字符串.

我应该定义规则吗?我应该实施一个二传手吗?使用扳机?

soj*_*oju 12

您应该只使用default验证器,将此规则添加到您的模型中:

public function rules()
{
    return [
       // ...
       ['attribute', 'default', 'value' => null],
       // ...
    ];
}
Run Code Online (Sandbox Code Playgroud)