2016-03-30 2 views
0

Я работаю над проектом, созданным с помощью Laravel 5.2. *. У меня есть таблица с именем users (связанная с таблицей roles) и моделью User для таблицы. Я хочу показать список пользователей с разбивкой на страницы. Мои коды приведены ниже.Pagination не работает должным образом в Laravel 5.2

В контроллере:

public function index() 
{ 
    $page_title = "Manage User"; 

    $roles = Role::where('status', 1)->get(); 

    $users = User::where('status', 1)->paginate(10); 

    return view('users.index', compact('page_title', 'users', 'roles')); 
} 

Формат данных users переменной, как показано ниже.

LengthAwarePaginator {#199 ▼ 
    #total: 3 
    #lastPage: 1 
    #items: Collection {#202 ▼ 
    #items: array:3 [▼ 
     0 => User {#203 ▶} 
     1 => User {#204 ▶} 
     2 => User {#205 ▶} 
    ] 
    } 
    #perPage: 10 
    #currentPage: 1 
    #path: "http://localhost/dtrdimen/UsersList" 
    #query: [] 
    #fragment: null 
    #pageName: "page" 
} 

В файле Просмотр:

<table class="table table-bordered table-hover"> 
     <tr> 
      <th style="text-align: center;" width="10%">Id</th> 
      <th style="text-align: center;" width="30%">Name</th> 
      <th style="text-align: center;" width="15%">Email</th> 
      <th style="text-align: center;" width="15%">Role</th> 
      <th style="text-align: center;" width="10%">Status</th> 
      <th style="text-align: center;" width="20%" colspan="3">Actions</th> 
     </tr> 

     @foreach ($users as $user) 
      <tr> 
       <td>{{ $user->id }}</td> 
       <td>{{ $user->name }}</td> 
       <td>{{ $user->email }}</td> 
       <td>{{ $user->role_id }}</td> 
       <td>{{ $user->status }}</td> 

       <td style=""> 

        <a href="/editUser/{{ $user->id }}" class="btn btn-warning pull-left", style="margin-right: 5px;">Edit</a> 

        {!! Form::open(['method' => 'delete', 'route' => ['User.remove', $user->id], 'class' => 'pull-left']) !!} 
        {!! Form::submit('Delete', ['class' => 'btn btn-danger', 'onClick' => "return check()"]) !!} 
        {!! Form::close() !!} 
       </td> 
      </tr> 
     @endforeach 
    </table> 
    <div class="text-center"> 
     {!! $users->links() !!} //I also used render() instead of links 
    </div> 

Я не знаю, что я пропустил. Этот код не показывает разбиение на страницы. Может ли кто-нибудь помочь мне решить проблему здесь?

+1

Там нет ссылки будут отображаться до тех пор, пока у вас есть меньше элементов, чем ваш выбор .. Для того, чтобы проверить его просто использовать 'постраничной (1)' –

+1

Спасибо большое , Теперь работает. Вы можете опубликовать его в качестве ответа здесь, чтобы другие могли воспользоваться. –

ответ

2

Там нет ссылки будут отображаться до тех пор, пока у вас есть меньше элементов, чем ваш выбор.

Чтобы проверить это просто использовать:

$users = User::where('status', 1)->paginate(1); 
0

U должен был сделать что-то вроде this-

контроллер-

public function paging() { 
    $users = User::paginate(10); 
    return View::make('paging', compact('users')); 
} 

Просмотр-

@extends('layout.default') 
@section('content') 
<div class="container"> 
    <table width="60%" cellspacing="0" cellpadding="4" border="0" class="data"> 
    @foreach($users as $user) 
    <tr> 
     <td> {{ $user->u_firstname }} </td> 
     <td> {{ $user->u_lastname }} </td> 
     <td> {{ $user->u_email }} </td> 
    </tr> 
    @endforeach 
    </table> 
    <div class="pagination"> {{ $users->links() }} </div> 
</div> 
@stop 

И маршрутные

Route::get('account/paging', '[email protected]'); 

Учебники по созданию пагинацию дан -

http://learn24bd.com/laravel-5-tutorial-06-pagination-in-laravel-5/

И

http://tutsnare.com/how-to-create-pagination-in-laravel/

И документация предоставляется здесь-

https://laravel.com/docs/5.1/pagination

+0

Этот код в порядке, когда число пользователей больше 15. Но у меня только 3 пользователя в таблице. Таким образом, 'paginate (15)' не будет работать до тех пор, пока число пользователей будет меньше 16. –

+0

Если вам нужно 1 пользователь за раз в разбивке на страницы, то вы можете использовать 'User :: paginate (1);' –

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