2017-04-01 4 views
0

ポストパラメータをモデル属性に直接設定することができれば、誰かが私を拡張することができますか?おかげモデルload()usage

$model->attributes = Yii::$app->request->post();

答えて

0

load()

$model->load(Yii::$app->request->post());

はあなたがそれらを確認することができますので、現在のシナリオでそれらに割り当てられた検証ルールを持っている属性を割り当てます。あなたは...このか通過した場合

0

わからない.butそれはここでほとんど明らかだ:

1
www.yiiframework.com/doc-2.0/yii-base-model.html#load()-detail

荷重が入力されたデータとモデルを移入http://www.yiiframework.com/doc-2.0/yii-base-model.html#load()-detail

にあなたが簡単に見ることができるように。 $ formNameパラメーターが指定されていない場合、load()は をモデルのformName()メソッド(これを上書きする可能性があります)から 'FormName'を取得します。

データが入力されると、setAttributes()によって安全性チェックが行われます。

http://www.yiiframework.com/doc-2.0/guide-structure-models.html

0

にも負荷の主な目的($データ、$ formNameフォーム)を参照してください期待される$ formNameフォームは$データをで発見された場合はブール値trueを返すことです。このように、あなたは以下をバイパスすることができます

$post = Yii::$app->request->post(); 
if ($modelA->load($post) && $modelB->load($post) && $modelC->load($post)) { 
    do_something_if_all_models_are_loaded; 
} 

$post = Yii::$app->request->post(); 
if ($model->load($post)) { 
    do_something_here; 
} 

if (isset($_POST['FormName'])) { 
    $model->attributes = $_POST['FormName']; 
    do_something_here; 
} 

をそれは、モデルのより多くの、異なる種類の面白いです