大规模分配给YII AR模型

时间:2012-02-03 16:50:31

标签: php activerecord yii

我遇到了奇怪的问题(?)。也许这是有记录的功能,但我找不到它。

我有一个来自CActiveRecord的模型类。在模型中,我有方法rules,它验证了验证规则。

我有控制器操作whatever。在这个动作中,我正在尝试使用从$ _POST获得的数据来分配模型属性。这是来自conroller的简化代码片段

$model=new SomeModel();

if(isset($_POST['SomeForm']))
{
    $model->attributes=$_POST['SomeForm'];
    if($model->validate())
    {
         $model->save();

    }
}

问题在于以下内容。使用大量的assiginig并非所有领域都在努力。只有在SomeModel::rules()中声明了验证规则的文件。如果我要为不应该验证的字段分配数据,那么该字段将变为空数据库。

有人可以解释会发生什么吗?

提前致谢

1 个答案:

答案 0 :(得分:5)

您需要在规则函数中声明其余变量(您希望大量分配)为“安全” -

http://www.yiiframework.com/wiki/161/understanding-safe-validation-rules/