【问题标题】:yii2 array of models in Active Formyii2 活动形式的模型数组
【发布时间】:2016-04-26 07:33:19
【问题描述】:

假设我有一个页面用户创建,我想在单个视图上多创建用户,这意味着当提交表单时,模型的多个实例将被发送到控制器进行保存, 我怎样才能用 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')>
......

【问题讨论】:

    标签: yii2


    【解决方案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()) 
            }
        }  
        ........
    
        .....
    } 
    

    【讨论】:

    • 非常感谢,我还有一个问题,如何声明一个模型实例数组并将其发送到视图?
    • 在 SO 中发布一个定义明确的问题是公平的 .. 所以如果我的答案是正确的,请将其标记为已接受,对于第二个问题,请提供一个正确定义的新帖子,以便所有社区都可以提供帮助你
    • 感谢您的支持
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 2011-04-29
    • 2017-04-14
    • 2021-08-22
    相关资源
    最近更新 更多