【问题标题】:laravel 5 pagination issue 5laravel 5 分页问题 5
【发布时间】:2016-01-29 10:39:06
【问题描述】:

我正在尝试使用 laravel 和 我正在使用分页来显示搜索结果。 当我点击搜索按钮时,它可以工作 但是当我点击分页的下一页时,搜索表单的所有值都消失了,搜索没有结果 有人帮忙吗?

路由.php

Route::get('search', 'searchController@index');//return search view
Route::post('misearch', 'searchController@search');// return result 
Route::resource('misearch', 'searchController@search');// for pagination

searchController.php

$results =  Mod_ads::where(function($query){
$ins_brand = Input::has('ins_brand')? Input::get('ins_brand'):null;
$min_price = Input::has('min_price')? Input::get('min_price'):null;
$max_price = Input::has('max_price')? Input::get('max_price'):null;
$ins_color = Input::has('ins_color')? Input::get('ins_color'):null;


if (isset($min_price) && isset($max_price)) {
    $query -> where('ads_fie_insprice', '>=', $min_price)->
        where('ads_fie_insprice', '<=', $max_price);
    }


    if ($ins_brand == '0') {
        unset($ins_brand);
    }else{
        $query->where('ads_fie_insbrand', '=', $ins_brand);
    }


    if (isset($ins_color)) {
        $query->where('ads_fie_inscolor', 'LIKE', '%'.$ins_color.'%');
    }


        })->paginate(2);
        $link = str_replace('/?', '?', $results->render());
        return View::make('search', compact('results', 'link'));

search.blade.php

@if(isset($results))
  @foreach($results->getCollection()->all() as $result) 
      {{ $result->ads_fie_insbrand }}
      {{ $result->ads_fie_insprice }}
      {{ $result->ads_fie_inscolor }}
  @endforeach 
@endif 

                @if(isset($results))
                 {!! $link !!} 
                @endif

谁能指导我?非常感谢。

【问题讨论】:

    标签: php laravel-5 laravel-pagination


    【解决方案1】:

    这是我的回答

    searchController.php

    public function search(Request $Request)
      {
    
        $results =  Mod_ads::where(function($query){
    
          $ins_brand = Input::has('ins_brand')? Input::get('ins_brand'):null;
          $min_price = Input::has('min_price')? Input::get('min_price'):null;
          $max_price = Input::has('max_price')? Input::get('max_price'):null;
          $ins_color = Input::has('ins_color')? Input::get('ins_color'):null;
    
    
    
          if (isset($min_price) && isset($max_price)) {
            $query -> where('ads_fie_insprice', '>=', $min_price)->
                 where('ads_fie_insprice', '<=', $max_price);
          }
    
          if ($ins_brand == '0') {
            unset($ins_brand);
          }else{
            $query->where('ads_fie_insbrand', '=', $ins_brand);
          }
    
          if (isset($ins_color)) {
            $query->where('ads_fie_inscolor', 'LIKE', '%'.$ins_color.'%');
          }
    
    
        })->paginate(2);
    
          Session::flash('_old_input',Input::all());
    
    
    
    
      $link = str_replace('/?', '?', $results->appends($Request->input())->render());
      return view('search', compact('results', 'link'));
    
      }
    

    search.blade.php

    @if(isset($results))
      @foreach($results->getCollection()->all() as $result)  
        {{ $result->ads_fie_brand }}
        {{ $result->ads_fie_insprice }}
        {{ $result->ads_fie_inscolor }}
      @endforeach 
    @endif 
    @if(isset($link))
      {!! $link !!}//pagination 
    @endif
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 2016-05-14
      • 2017-11-30
      • 2023-03-03
      • 2016-04-24
      • 2015-05-29
      • 2016-12-21
      相关资源
      最近更新 更多