假设我有一个页面用户创建,我想在单个视图上多创建用户,这意味着当提交表单时,多个模型实例将被发送到控制器进行保存, 我怎样才能用Yii2完成它 这样的事情
public function actionMultiCreate() {
if($request->isGet) {
$user = new User()
return $this->render("multi-create",['user' => $user])
} else {
//load array of user model and save it
}
}
和观点:
....
User1: <$form->field($model,'user-name')>
User2: <$form->field($model,'user-name')>
......
答案 0 :(得分:1)
最简单的方法是基于loadMultiple
public function actionCreate()
{
if (Model::loadMultiple($items, Yii::$app->request->post()) &&
Model::validateMultiple($items)) {
$count = 0;
foreach ($items as $item) {
// populate and save records for each model
$item->save())
}
}
........
.....
}