Laravel9 if文条件分岐がうまく動かない。

「お知らせ」ボタンクリックで「お知らせ」に紐つく投稿を一覧表示。「施工事例」ボタンクリックで「施工事例」に紐つく投稿の一覧を表示させたいです。

条件分岐のコードを以下のように書いたのですが、常に「お知らせ」に紐つく投稿を取得してしまい。oshiraseカラムがnullの時に取りたいelse以降の処理が実行されず、「施工事例」ボタンをクリックしても「お知らせ」に紐つく投稿を取得してしまいます。。。

HomeContoroller.php

1 public function company_archive_search(User $user){ 2 $user = User::find($user->id); 3 $categorys = Post::where('user_id', $user->id)->get(); 4 foreach($categorys as $category){ 5 if($category->oshirase == null){ 6 $posts = Post::where('user_id', $user->id)->where('oshirase', 'お知らせ')->orderBy('id','desc')->paginate(12); 7 } 8 else 9 $posts = Post::where('user_id', $user->id)->where('jirei_flag', '施工事例')->orderBy('id','desc')->paginate(12); 10 } 11 return view('/company-archive',compact('user','posts')); 12 }

view.php

1 <div class="company-archive__btn-wrap"> 2 <p class="btn company-archive__btn"> 3 <a href="{{ route('company_archive_search',$user->id)}}">#お知らせ</a> 4 </p> 5 <p class="btn company-archive__btn"> 6 <a href="{{ route('company_archive_search',$user->id)}}">#施工事例</a> 7 </p> 8 </div>

web.php

1//選択カテゴリーの記事一覧取得 2Route::get('company-archive/oshirase{user}', [App\Http\Controllers\HomeController::class, 'company_archive_search'])->name('company_archive_search'); 3

どうすればコントローラのif文条件分岐が意図した挙動。
oshiraseカラムがNULLでなければ「お知らせ」の記事一覧を表示。
oshiraseカラムがNULLなら「施工事例」の記事一覧を表示できるようになりますか?

コメントを投稿

0 コメント