/** * Creates a new GivenExercise model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new GivenExercise(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model]); } }
public static function updateGivenTask($post, $model) { $newExersices = $post['exersices']; foreach ($newExersices as $key => $ex) { $newExersices[$key] = (int) $ex; } $task = $post['task']; $given_date = date('U'); $noerror = true; $model->given_date = $given_date; $model->task_id = $task; if ($model->save()) { $lastEx = ArrayHelper::getColumn($model->exercises, 'exercise.id'); $generalEx = array_intersect($newExersices, $lastEx); $newLast = array_diff($lastEx, $generalEx); $newEx = array_diff($newExersices, $generalEx); sort($newLast); sort($newEx); foreach ($newEx as $newExerc) { $eModel = new GivenExercise(); $eModel->exercise_id = $newExerc; $eModel->given_task_id = $model->getPrimaryKey(); $eModel->save(); } foreach ($newLast as $delLast) { $eModel = GivenExercise::find()->where(['given_task_id' => $model->getPrimaryKey()])->andWhere(['exercise_id' => $delLast])->one(); $eModel->delete(); } } else { $noerror = false; } return $noerror; }