前提・実現したいこと
開発環境で、投稿アプリの投稿のキーワード(content/users)を拾い、表示させる検索処理を実装しています。
発生している問題
検索処理が行われない。
検索窓にキーワードを入力しても、エラーにもならず、表示も変わらない。
Micropostsテーブルは、投稿テーブル(Postsテーブル)
該当のソースコード
php
1my-laravel-app/app/Http/Controllers/MicropostController.php 2 3 /** 4 * 投稿一覧表示アクション 5 */ 6 public function index(Request $request) 7 { 8 $microposts = Micropost::getAll(); 9 $viewParams = [ 10 'microposts' => $microposts, 11 ]; 12 13 14 #キーワード受け取り 15 $search = $request->input('search'); 16 #クエリ生成 17 $query = Micropost::query(); 18 #もしキーワードがあったら 19 if($search = request('search')) 20 { 21 $query->where('users','like','%{$search}%')->orWhere('content','like','%{$search}%'); 22 23 return view('micropost.index', $viewParams); 24 } 25 26 27my-laravel-app/resources/views/layouts/app.blade.php 28中略〜 29 <form class="form-inline my-2 my-lg-0 ml-2"> 30 <div class="form-group"> 31 <input type="search" class="form-control mr-sm-2" name="search" value="{{request('search')}}" placeholder="キーワードを入力" aria-label="検索..."> 32 </div> 33 <input type="submit" value="検索" class="btn btn-info"> 34 </form> 35 36my-laravel-app/database/migrations/2021_02_26_141741_create_microposts_table.php 37 38class CreateMicropostsTable extends Migration 39{ 40 /** 41 * Run the migrations. 42 * 43 * @return void 44 */ 45 public function up() 46 { 47 Schema::create('microposts', function (Blueprint $table) { 48 $table->bigIncrements('id'); 49 $table->unsignedBigInteger('user_id'); 50 $table->foreign('user_id')->references('id')->on('users'); 51 $table->text('content'); 52 $table->timestamps(); 53 }); 54 } 55
php
1この書き方でも何かが駄目で、上手く動かない。 2 /** 3 * 投稿一覧表示アクション 4 */ 5 public function index(Request $request) 6 { 7 if ($request->filled('keyword')) { 8 $keyword = $request->input('keyword'); 9 $content = '検索キーワード: '.$keyword; 10 $microposts = Micropost::where('content', 'like', '%'.$keyword.'%')->get(); 11 }else{ 12 $content = "検索キーワードを入力してください。"; 13 $microposts = Micropost::all(); 14 } 15 return view('micropost.index', ['content' => $content, 'microposts' => $microposts]); 16 }
試したこと
投稿一覧表示アクション内に検索実装を追加しました。
補足情報(FW/ツールのバージョンなど)
heroku 7.49.1
docker環境
Laravel Framework 7.30.4
プッシュなどはgithub desktop使用
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/03 05:59
2021/03/03 06:04
2021/03/03 06:13
2021/03/03 06:22
2021/03/03 08:07