/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { if (Yii::$app->user->isGuest) { $query = Przedmiot::find()->where(['published' => 1]); } elseif (Yii::$app->user->identity->groupId == 'admin') { $query = Przedmiot::find(); } elseif (Yii::$app->user->identity->groupId == 'author') { $query = Przedmiot::find()->where(['user_id' => Yii::$app->user->identity->id]); } $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->joinWith('kierunekStudiow'); $query->andFilterWhere(['id' => $this->id, 'kierunekStudiow_id' => $this->kierunekStudiow_id, 'published' => $this->published, 'user_id' => $this->user_id]); $query->andFilterWhere(['like', 'kodKursu', $this->kodKursu])->andFilterWhere(['like', 'wymaganie', $this->wymaganie])->andFilterWhere(['like', 'nazwaPolska', $this->nazwaPolska])->andFilterWhere(['like', 'nazwaAngielska', $this->nazwaAngielska])->andFilterWhere(['like', 'kierunekStudiow.opis', $this->kierunekStudiow_id])->andFilterWhere(['like', 'kierunekStudiow.cykl', $this->kierunekStudiow_id]); return $dataProvider; }
/** * Finds the Przedmiot model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @param integer $kierunekStudiow_id * @param integer $user_id * @return Przedmiot the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Przedmiot::findOne(['id' => $id])) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @return \yii\db\ActiveQuery */ public function getPrzedmiot() { return $this->hasOne(Przedmiot::className(), ['id' => 'przedmiot_id']); }
/** * @return \yii\db\ActiveQuery */ public function getPrzedmiots() { return $this->hasMany(Przedmiot::className(), ['id' => 'przedmiot_id'])->viaTable('przedmiotKek', ['kek_id' => 'id']); }
public static function idAutora($id) { $result = Przedmiot::findOne(['id' => $id])->user_id; return $result; }
/** * @return \yii\db\ActiveQuery */ public function getPrzedmiots() { return $this->hasMany(Przedmiot::className(), ['kierunekStudiow_id' => 'id']); }