防止将空字符串插入MySQL的InnoDB表的字段中的最佳方法是什么?允许的值是字符数大于零的字符串或NULL。
我之所以这样问,是因为ActiveRecord模型对象经常会获得loaded视图的表单数据,这些数据不会知道,因此不会发送NULL值。在这种情况下,我更喜欢存储NULL而不是空字符串。
我应该定义规则吗?我应该实施一个二传手吗?使用触发器?
答案 0 :(得分:11)
您应该只使用default
验证程序,将此规则添加到您的模型中:
public function rules()
{
return [
// ...
['attribute', 'default', 'value' => null],
// ...
];
}