2013-02-14 4 views
0

Это то, что я имею в моем контроллереLaravel - Разбиение Eloquent Retrieved результаты

$projects=Project::where_sup_id($user_id)->get(); 
    $total=count($projects); 
    $per_page=3; 
    $projects = Paginator::make($projects, $total, $per_page); 
    return View::make('project.index')->with('projects',$projects); 

И это, на мой взгляд

@foreach ($projects->results as $project) 

     {{$project->title}} 

@endforeach 


{{$projects->links();}} 

, но когда я его просмотра в браузере он отображаются все строки во всех страницы ... ссылки отображаются отлично! что ты думаешь, это проблема? пожалуйста помоги! благодарю вас заранее!

+0

Исправлено по ошибке, а затем закончилось с другим - не забывайте о необходимости '-> results' или вы получите двусмысленный запрос' 'Try to get property of non-object' – BSchlinker

ответ

3

Вы считаете все строки, но не используете limit вообще, у Laravel fluent query builder есть skip() и take() метод для этого.

Btw, вам не нужно его вручную разбивать на страницы. Laravel автоматически разбивается на страницы с помощью метода paginate().

ли это таким образом:

$projects = Project::where_sup_id($user_id)->paginate(3); // 3 means records per page 
return View::make('project.index')->with('projects', $projects); 

Вы делаете view работу правильно.

Смежные вопросы