public function search($params) { $query = StudentPhone::find(); $query->orderBy(['ord' => SORT_ASC]); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'ord' => $this->ord, 'student_id' => $this->student_id, 'active' => $this->active]); $query->andFilterWhere(['like', 'number', $this->number])->andFilterWhere(['like', 'name', $this->name]); return $dataProvider; }
/** * @return \app\models\StudentPhone */ public function getBestPhone() { return StudentPhone::find()->joinWith('student')->where(['student.id' => $this->id])->orderBy(['student_phone.ord' => SORT_ASC])->one(); }