2017-04-01 129 views
0

有人可以让我知道,如果设置post params可以直接设置为模型属性,那么load方法的实际用法是什么?由于模型加载()的使用

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

VS

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

回答

0

load()将只分配已经得到在当前情况下分配给他们的验证规则,以便您能够验证他们的属性。

0

不知道你是否曾经使用过此还是没有去..。但它几乎在这里清楚:www.yiiframework.com/doc-2.0/yii-base-model.html#load()-detail

0

看到负荷的主要目的($数据,$窗体名称)是返回布尔值true,如果预期的$表格名称中找到$数据。因此,你可以跳过以下内容:

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

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

它更多的,不同种类的车型有趣:

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