示例#1
0
 /**
  * Prepares the data provider that should return the requested collection of the models.
  * @return ActiveDataProvider
  */
 protected function prepareDataProvider()
 {
     if ($this->prepareDataProvider !== null) {
         return call_user_func($this->prepareDataProvider, $this);
     }
     /**
      * @var \yii\db\BaseActiveRecord $modelClass
      */
     $modelClass = $this->modelClass;
     $searchClass = new MovieSearch();
     $query = $modelClass::find();
     $dataProvider->setSort(['defaultOrder' => ['updatedOn' => SORT_DESC]]);
     $query->andWhere("not ((`state`=" . AppActiveRecord::STATUS_DRAFT . ") AND (`createdBy`!=" . \yii::$app->user->id . "))");
     if (!($searchClass->load(Yii::$app->request->queryParams, '') && $searchClass->validate())) {
         $query->andFilterWhere(['NOT', ['state' => AppActiveRecord::STATUS_DELETE]]);
         return $dataProvider;
     }
     $query->andFilterWhere(['Id' => $searchClass->Id, 'launguageId' => $searchClass->launguageId, 'starRating' => $searchClass->starRating, 'oldStarRating' => $searchClass->oldStarRating, 'avgerageUserRate' => $searchClass->avgerageUserRate, 'reviewCount' => $searchClass->reviewCount, 'releaseDate' => $searchClass->releaseDate, 'createdOn' => $searchClass->createdOn, 'status' => $searchClass->status, 'length' => $searchClass->length, 'toiMovieId' => $searchClass->toiMovieId, 'topLevelCount' => $searchClass->topLevelCount, 'recommendedCount' => $searchClass->recommendedCount, 'agreeCount' => $searchClass->agreeCount, 'disagreeCount' => $searchClass->disagreeCount, 'updatedOn' => $searchClass->updatedOn, 'createdBy' => $searchClass->createdBy, 'updatedBy' => $searchClass->updatedBy, 'entityType' => $searchClass->entityType, 'state' => $searchClass->state]);
     $query->andFilterWhere(['like', 'name', $searchClass->name])->andFilterWhere(['like', 'cast', $searchClass->cast])->andFilterWhere(['like', 'synopsis', $searchClass->synopsis])->andFilterWhere(['like', 'parentalGuidance', $searchClass->parentalGuidance])->andFilterWhere(['like', 'alias', $searchClass->alias])->andFilterWhere(['like', 'tagline', $searchClass->tagline])->andFilterWhere(['like', 'review', $searchClass->review])->andFilterWhere(['like', 'movieDirector', $searchClass->movieDirector])->andFilterWhere(['like', 'musicDirector', $searchClass->musicDirector])->andFilterWhere(['like', 'oldGuid', $searchClass->oldGuid])->andFilterWhere(['like', 'guid', $searchClass->guid])->andFilterWhere(['like', 'shortCode', $searchClass->shortCode])->andFilterWhere(['like', 'canonicalUrl', $searchClass->canonicalUrl])->andFilterWhere(['like', 'ip', $searchClass->ip]);
     return $dataProvider;
 }
 /**
  * Lists all Movie models.
  * @return mixed
  */
 public function actionIndex()
 {
     $searchModel = new MovieSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
     return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'state' => new Movie()]);
 }