分页查询在laravel5.2中不起作用

时间:2017-02-07 12:41:37

标签: php laravel-5.2

当我使用此查询时,为什么分页不起作用是两个查询中的任何差异?

$users = User::all()->paginate(2);

分页仅适用于我使用此查询但问题出现在index.blade中它无法从用户获取photo,created_at,updated_at我从index.blade中删除这三个名称然后它工作正常。

  $users = DB::table('users')->paginate(2);

当我使用第二个查询时,它无法获取日期和错误显示在非对象上调用成员函数diffForHumans()

@if($users)
    @foreach($users as $user)
<tr>

            <td>{{$user->id}}</td>
            <td><img height="50" src=" {{isset($user->photo) ? $user->photo->file : 'http://placehold.it/200X200'}}"  ></td>
            <td><a href="{{route('admin.users.edit', $user->id)}}"> {{$user->name}}</a></td>
            <td>{{$user->email}}</td>
            <td>{{$user->is_active == 1 ? 'Active' : 'Not active'}}</td>
            <td>{{$user->created_at->diffForHumans()}}</td>
            <td>{{$user->updated_at->diffForHumans()}}</td>
                @if(!empty($user->role->name))
                    <td>{{$user->role->name}}
                @endif
                </td>
            <td><a href="{{route('admin.users.edit', $user->id)}}">Edit</a></td>
        </tr>
    @endforeach
@endif

1 个答案:

答案 0 :(得分:0)

您的查询应为:

$users = User::paginate(2);

并且User::all()会返回一个集合,因此您无法在其上运行paginate()