2016-03-30 25 views
0

私はLaravel 5.2。*で構築されたプロジェクトに取り組んでいます。私はusersrolesテーブルに関連付けられている)という名前のテーブルと、そのテーブルのモデルUserを持っています。私はページリストを使ってユーザーリストを表示したい。私のコードは以下の通りです。コントローラ内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

限り、あなたはあなたの選択未満のアイテムを持っているように表示されるリンクがありません...ちょうど 'のpaginateを使用し、それをテストするには(1)' –

+1

どうもありがとう:ちょうど使用し、それをテストする

。それは今働いている。他の人が恩恵を受けることができるように、ここに回答として投稿することができます。 –

答えて

2

与えられています。

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

Uはthis-

Controller-

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-

のようなものを行っている必要があります
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/

とマニュアルは限り、あなたはあなたの選択未満のアイテムを持っているように表示されるリンクがないhere-

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

+0

このコードは、 'users'の数が15より大きい場合は問題ありません。しかし、私はテーブルに3人しかいません。だから、 'paginate(15)'は16以下のユーザ数までは動作しません。 –

+0

ページ設定で一度に1人のユーザが必要な場合は、 'User :: paginate(1);' –

関連する問題