/** * 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]); }