前提・実現したいこと
リンクを参考にLaravelの複数ワードの検索機能を作りたいです。記事はクエリビルダを使っていますが、自分はeloquentを使い実装したいです。記事内に「単語をループで回し、ユーザーネームと部分一致するものがあれば、$queryとして保持される」とありますが、eloquentの場合どのように部分一致した情報を保持するべきなのかわからず詰まっています。
【Laravel】キーワード検索機能の実装方法(複数キーワード、部分一致)
該当のソースコード
laravel
1 public function search(Request $request) 2 { 3 $request->validate(['search' => 'required|max:1000']); 4 $word = $request->search; 5 $spaceConversion = mb_convert_kana('word', 's'); 6 $wordArraySearched = preg_split('/[\s,]+/', $spaceConversion, -1, PREG_SPLIT_NO_EMPTY); 7 foreach ($wordArraySearched as $value) { 8 ここで部分一致したレコードの情報をどう保持すべきなのかわからない 9 } 10 $articles = (検索対象となるarticlesテーブルのArticlesモデル)Articles::paginate(10); 11 12 return view('article.search', ['articles' => $articles, 'word' => $word]); 13 } 14
補足情報(FW/ツールのバージョンなど)
PHP 8.1.1
Laravel 8.79.0
あなたの回答
tips
プレビュー