現在、laravel5.4で、VIEWで検索条件を設定し、その内容をsubmitでcontrollerによみこみ、
その条件でSQLを発行・取得した情報を、再度viewへ返して表示する処理を行っています。
paginateを使用した検索結果を出力できていたのですが、paginate処理の前に簡単な分岐ロジックを入れただけで、paginateの2ページ目以降をクリックするとブラウザーが完全に真っ白表示となってしまいviewが表示されなくなりました。
ブラウザーでデバッグしたところ、htmlヘッダが2ページ目以降なくなっていました。
なぜ、分岐ロジックを入れただけでこのような動きになるのか理解できません。
以下のように所得してくるrequestのsearchに値があるかどうかを確認しているだけです。
この処理を外すと、htmlヘッダーが削除されず正常にpaginateオブジェクトが動いてくれます。
php
1public function searchroute(Request $request) 2 { 3 if ($request->get('search')) 4 { 5 $year=$request->get('year'); 6 $month=$request->get('month'); 7 $years = $year.$month; 8 $opname = $request->get('op_name'); 9 $account_code = $request->get('account_code'); 10 $item_name = $request->get('item_name'); 11 $customer_name = $request->get('customer_name'); 12 $depreciation = $request->get('depreciation'); 13 $achievement = $request->get('achievement'); 14 $concatenation = $request->get('concatenation'); 15 $collection = $request->get('collection'); 16 17 $search = DB::table('contents')->select()->join('contents_detail','contents_detail.ctnts_code',"=","contents.ctnts_code") 18 ->where('contents_detail.target_date',$years) 19 ->where('contents.op_name','like','%'.$opname.'%') 20 ->where('contents.acnt_code','like','%'.$account_code.'%') 21 ->where('contents.item_name','like','%'.$item_name.'%') 22 ->where('contents.customer_name','like','%'.$customer_name.'%') 23 ->whereIn('contents_detail.dprctn_kbn',$depreciation) 24 ->whereIn('contents_detail.achieve_kbn',$achievement) 25 ->whereIn('contents_detail.conct_kbn',$concatenation) 26 ->Paginate(15); 27 28 return view('contents.contentssearch') 29 ->with(['search'=>$search,'year'=>$year,'month'=>$month,'depreciation'=>$depreciation,'achievement' 30 =>$achievement,'concatenation'=>$concatenation]); 31 32 } 33 elseif ($request->get('downloadcsv')) 34 { 35 echo "test"; 36 } 37 }
ご教授いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー