Php YII-AR模型的大规模赋值

Php YII-AR模型的大规模赋值,php,activerecord,yii,Php,Activerecord,Yii,我遇到了一个奇怪的问题(?)。也许它是有文档记录的功能,但我找不到它 我有一个从CActiveRecord上摘录的模型课。在模型中,我有方法规则,它玷污了验证规则 我有一个带有动作的控制器。在这个动作中,我试图用从$\u POST获得的数据分配模型属性。下面是来自conroller的简化代码片段 $model=new SomeModel(); if(isset($_POST['SomeForm'])) { $model->attributes=$_POST['SomeForm']

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

我有一个从CActiveRecord上摘录的模型课。在模型中,我有方法
规则
,它玷污了验证规则

我有一个带有动作
的控制器。在这个动作中,我试图用从$\u POST获得的数据分配模型属性。下面是来自conroller的简化代码片段

$model=new SomeModel();

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

    }
}
问题在于以下几点。使用大规模援助并非所有领域都在援助。只有在
SomeModel::rules()
中声明了验证规则的文件。若我试图为不应该被验证的字段分配数据,那个么该字段在数据库中是空的

有人能解释一下发生了什么吗


提前感谢

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


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