Forms Yii2使用多个模型保存表单

Forms Yii2使用多个模型保存表单,forms,grid,yii2,yii-extensions,Forms,Grid,Yii2,Yii Extensions,嗨,我很快就要完成一个项目了,但在保存多个模型的数据时遇到了困难 我有一个网格,它调用一个调用窗体的控制器操作 public function actionToday() { $ID = $_GET["0"]; $modelCustomers = Customers::find()->where(['ID' => $ID])->one();; $today = date("Y-m-d"); $beforeToday = 'DropinDa

嗨,我很快就要完成一个项目了,但在保存多个模型的数据时遇到了困难

我有一个网格,它调用一个调用窗体的控制器操作

    public function actionToday() {
    $ID = $_GET["0"];
    $modelCustomers = Customers::find()->where(['ID' => $ID])->one();;
    $today = date("Y-m-d");
    $beforeToday = 'DropinDate>'.$today;
    $modelAttendance =  Attendance::find()->where(['CustomersID' => $ID])->andwhere(['DropinDate' => $today])->one();
    return $this->render('//attendance/_form-today-attendance', ['modelCustomers' => $modelCustomers, 'model' => $modelAttendance]);
}  
在表格中,我有3个主要字段要更新,如果不是记录,我需要创建一个新记录

这是今天的出席表


你的个人资料

尝试此功能并检查您得到了什么

public function actionToday()
{
    $ID = $_GET["0"];
    $modelCustomers = Customers::find()
        ->where(['ID' => $ID])
        ->one();;
    $today = date("Y-m-d");
    $beforeToday = 'DropinDate>' . $today;
    $modelAttendance = Attendance::find()
        ->where(['CustomersID' => $ID])
        ->andwhere(['DropinDate' => $today])
        ->one();
    if (Yii::$app->request->post()) {
        $data = Yii::$app->request->post();
        //do something with $data
    }
    return $this->render('//attendance/_form-today-attendance', [
        'modelCustomers' => $modelCustomers,
        'model' => $modelAttendance]);
}

数组中会有一些内容,您可以将其分配给模型实例。

这让我意识到,这些内容传递回了同一个函数,我可以从中获取逻辑。谢谢,我一点一点地理解了yinice one@ankitraturi的逻辑。