public function actionView($id = null) { if (!$id) { return $this->render('/site/error', ['name' => 'Bad request', 'message' => 'id is not defined']); } $message['class'] = ''; $message['text'] = ''; $model = new TeacherStudent(); $dataProvider = Teacher::find()->where(['id' => (int) $id]); if ($model->load(Yii::$app->request->post()) && $model->validate()) { if (TeacherStudent::find()->where(['teacher_id' => $model->teacher_id, 'student_id' => $model->student_id])->count() == 0) { $result = $model->save(); } else { $message['class'] = 'danger'; $message['text'] = 'Ошибка. Пользователь с id ' . $model->student_id . ' уже назначен учителю с id ' . $model->teacher_id . '.'; } if (isset($result) && $result === true) { $message['class'] = 'success'; $message['text'] = 'Ваш запрос успешно выполнен. Пользователь с id ' . $model->student_id . ' назначен учителю с id ' . $model->teacher_id . '.'; } } return $this->render('view', ['dataProvider' => $dataProvider, 'model' => $model, 'message' => $message]); }
/** * Add students to teacher */ public function saveTeachers() { $this->removeTeachers(); if (!empty($this->teachers)) { foreach ($this->teachers as $val) { if (is_numeric($val)) { $t_u = new TeacherStudent(); $t_u->student_id = $this->id; $t_u->teacher_id = $val; $t_u->save(); } } } $this->_teachers = ArrayHelper::map($this->teacherStudents, 'name', 'id'); }