在这里,我要将所有数据库字段都设为safe
进行大量分配吗?
[$this->attributes, 'safe', 'on' => self::SCENARIO_MIGRATION],
这是正确的吗?如果不是,最好的方法是什么?
答案 0 :(得分:2)
对所有属性使用safe
规则进行的验证不会验证任何内容,因此没有太大意义。与其创建这样的规则,不如直接在代码中跳过验证可能更好:
$model->setAttributes($data, false);
$model->save(false);
但是,如果您确实需要此类“空”验证规则,则应使用attributes()
方法来获取属性名称列表:
[$this->attributes(), 'safe', 'on' => self::SCENARIO_MIGRATION],