Example #1
0
 /**
  * search
  */
 public function actionSearch($keyword = '')
 {
     $this->menu_tag = 'list';
     $originalKeyword = htmlentities($keyword);
     $movieList = array();
     if ($keyword) {
         // filer word
         $keyword = SearchUtil::EscapeKeyword($keyword);
         $keyword = mb_substr($keyword, 0, 50, 'UTF-8');
         $s = new SearchClient();
         $searchRs = $s->search($keyword, 1, 50);
         $movieIdArr = array_keys($searchRs);
         $movieData = models\MvBasic::find()->select('id,title,rating,year,source_num,casts,images,directors')->where(['id' => $movieIdArr])->indexBy('id')->asArray()->all();
         foreach ($searchRs as $movieId => $m) {
             // casts 保留5个
             $movie = $movieData[$movieId];
             $casts = explode(',', $movie['casts']);
             $movie['casts'] = implode(' / ', array_slice($casts, 0, 5));
             $movieList[] = $movie;
         }
     }
     return $this->render('movie_search_list', ['movie' => $movieList, 'originalKeyword' => $originalKeyword]);
 }