私は奇妙な問題(?)に直面しました。たぶんそれは文書化された機能ですが、私はそれを見つけることができませんでした。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()
で宣言された検証ルールがあるものだけです。検証してはいけないフィールドのデータを割り当てようとすると、そのフィールドはデータベースに空になります。
誰かが何が起こるか説明できますか?あなたはルール機能で「安全」であることを(あなたが大量に割り当てることにしたい)の変数の残りの部分を宣言する必要があり、事前
をありがとうございましたあなたの答え。私が確認しておきます、チェックします。 –
それだけです!ありがとう。 –