2014-09-01 2 views
1

привет :) im разбору моей базы данных в таблице с разбивкой на страницы !!laravel pagination на стол

это мой контроллер

$theme = Theme::all(); 
      $questions = questionList::paginate(10); 
      $the = ""; 
      return View::make('home.home') 
      ->with('user',Auth::user()) 
      ->with('theme', $theme) 
      ->with('the' , $the) 
      ->with('questions',$questions); 

и мой взгляд у меня есть {{ $questions->links(); }} под моим столом, и это работает отлично !! Дело в том, что у меня есть список тем для сортировки данных в таблице, поэтому, когда я нажимаю на divertisement, я получаю данные о дивертисфере. проблема в том, что когда я разбиваю на страницы, возвращаю запрос на получение и даю мне все данные! что проблема ТНХ :)

ответ

1

Для добавления filter/sort необходимо также добавить, что в предложении where в вашем query, а также вам нужно добавить в query string в ваших постраничных ссылках. Например:

public function showPosts() 
{ 
    $questions = app('questionList'); 

    if($filter = Input::get('filter')) { 
     $questions = $questions->where('theme', $filter); 
    } 

    $questions = $questions->paginate(10); 

    if(isset($filter)) { 
     $questions->appends('filter', $filter); 
    } 

    return View::make(...)->with(...); 
} 

В вашей view вам необходимо создать ссылки на этот метод (возможно, используя имя маршрута или URL) с filter строки запроса. Так, например:

<a href="{{ 'link to that method' }}?filter=divertisement">Divertisement</a> 
<a href="{{ 'link to that method' }}?filter=SomethingElse">SomethingElse</a>