如何使所有模型属性在 Yii2 中都是安全的?
How can I make all model attributes as safe in Yii2?
在这里,我将所有数据库字段设为 safe
以进行大量分配?
[$this->attributes, 'safe', 'on' => self::SCENARIO_MIGRATION],
是否正确?如果不正确,最好的方法是什么?
使用 safe
规则对所有属性进行验证不会验证任何内容,因此没有多大意义。与其创建此类规则,不如直接在代码中跳过验证可能更好:
$model->setAttributes($data, false);
$model->save(false);
但是如果你真的需要这样的 "empty" 验证规则,你应该使用 attributes()
方法来获取属性名称列表:
[$this->attributes(), 'safe', 'on' => self::SCENARIO_MIGRATION],
在这里,我将所有数据库字段设为 safe
以进行大量分配?
[$this->attributes, 'safe', 'on' => self::SCENARIO_MIGRATION],
是否正确?如果不正确,最好的方法是什么?
使用 safe
规则对所有属性进行验证不会验证任何内容,因此没有多大意义。与其创建此类规则,不如直接在代码中跳过验证可能更好:
$model->setAttributes($data, false);
$model->save(false);
但是如果你真的需要这样的 "empty" 验证规则,你应该使用 attributes()
方法来获取属性名称列表:
[$this->attributes(), 'safe', 'on' => self::SCENARIO_MIGRATION],