예제 #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Teachers::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'sex' => $this->sex, 'age' => $this->age, 'status' => $this->status, 'level' => $this->level, 'lesson' => $this->lesson, 'create_time' => $this->create_time, 'update_time' => $this->update_time]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'create_user', $this->create_user])->andFilterWhere(['like', 'update_user', $this->update_user]);
     return $dataProvider;
 }
예제 #2
0
 public function actionRateTeacher()
 {
     $request = Yii::$app->request;
     try {
         $teacher = $request->post('teacher', '');
         $check_teacher = Teachers::find()->where(['id' => $teacher])->count();
         if ($check_teacher == 0) {
             return json_encode(Util::arrayError('Giáo viên không tồn tại', ''));
         }
         $stars = $request->post('stars', '');
         if ($stars < 1 || $stars > 5) {
             return json_encode(Util::arrayError('Điểm không hợp lệ', ''));
         }
         $result = Teachers::rateTeacher($teacher, $stars);
         return json_encode(Util::arraySuccess('Success', $result));
     } catch (Exception $ex) {
     }
 }
예제 #3
0
 public static function getTeachersByDepartment($department)
 {
     $query = Teachers::find()->where(['department' => $department])->orderBy('id desc');
     $countQuery = clone $query;
     $pages = new Pagination(['totalCount' => $countQuery->count()]);
     $pages->defaultPageSize = 27;
     $models = $query->offset($pages->offset)->limit($pages->limit)->all();
     if (!Yii::$app->cache->exists('departments')) {
         $departments = Departments::find()->orderBy('name', 'desc')->all();
         Yii::$app->cache->add('departments', $departments, 3600);
     } else {
         $departments = Yii::$app->cache->get('departments');
     }
     return ['models' => $models, 'pages' => $pages, 'departments' => $departments];
 }