###前提・実現したいこと
検索ができないバグを探していたところ、インデックスが定義されていないと表示されおそらくこれがバグの原因と思われます。
ただ、このインデックスの未定義の問題を解消する方法が見つかっておりません。
ご教授いただけますでしょうか。
よろしくお願いいたします。
###発生している問題・エラーメッセージ
ErrorException in SearchController.php line 59: Undefined index: search
###該当のソースコード
PHP
1public static function searchCommon($where = null, $sortFunc = null) 2 { 3 $input = request()->all(); 4 $validator = \Validator::make($input, [ 5 'q' => 'string|max:255', 6 'page' => 'integer|not_in:0,1', 7 'search' => 'integer' 8 ]); 9 if ($validator->fails()) return app()->abort(404); 10 $page = isset($input['page']) ? (int)$input['page'] : 1; 11 $search = isset($input['search']) ? (int)$input['search'] : 0;dd($input['search']); 12if ($search) { 13 $data = Search::select('result', 'query')->where('id', $search)->first(); 14 $ids = $data ? $data['result'] : []; 15 $q = isset($data['query']['q']) ? $data['query']['q'] : ''; 16 } else { 17 $q = isset($input['q']) ? $input['q'] : ''; 18 $query = Fulltext::where('type', '<>', 'job'); 19 if ($q !== '') $query->whereIndex($q); 20 if (!is_null($where)) $query->where($where); 21 $ids = NULL; 22 if ($sortFunc) { 23 $query = $query->select('id', 'type', 'main_id')->get()->toArray(); 24 usort($query, $sortFunc); 25 $ids = array_pluck($query, 'id'); 26 } else { 27 $ids = array_map('intval', $query->orderBy('time','DESC')->lists('id')->toArray()); 28 } 29 // $search {{{ 30 $search = new Search(); 31 $search['result'] = $ids; 32 $search['query'] = ['q' => $q]; 33 $search->save(); 34 $search = $search['id']; 35 // }}} 36 } 37}
view
1<form class="clearfix m-t-50" method="GET" action="{{url('search')}}"> 2<div class="input-group input-group-lg col-sm-offset-2 col-sm-8 p-a-0"> 3<input type="text" name="q" class="form-control submit13" placeholder="検索語句を入力してください" title="検索語句" value="{{$q or ''}}"> 4<span class="input-group-btn"> 5<button class="btn btn-success" type="submit">検索</button> 6</span> 7</div> 8</form>
###補足情報(言語/FW/ツール等のバージョンなど)
他に必要な情報等ありましたら、ご連絡いただけますでしょうか?
何卒よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー