2012-02-03 8 views
1

私は奇妙な問題(?)に直面しました。たぶんそれは文書化された機能ですが、私はそれを見つけることができませんでした。YII ARモデルへの大量割り当て

CActiveRecordからモデルクラスを推測しました。モデルでは、私は方法rulesが妥当性検査のルールを無効にしている。

私にはコントローラwhateverがあります。このアクションでは、$ _POSTから取得したデータでモデル属性を割り当てようとしています。ここに簡略化されたコードスニペットが表示されます

$model=new SomeModel(); 

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

    } 
} 

問題は次のとおりです。大規模なassiginigを使用してすべてのフィールドが苦しんでいるわけではありません。 SomeModel::rules()で宣言された検証ルールがあるものだけです。検証してはいけないフィールドのデータを割り当てようとすると、そのフィールドはデータベースに空になります。

誰かが何が起こるか説明できますか?あなたはルール機能で「安全」であることを(あなたが大量に割り当てることにしたい)の変数の残りの部分を宣言する必要があり、事前

答えて

関連する問題