php - Laravel:分页流畅的查询

标签 php laravel laravel-4 fluent laravel-blade

我正尝试在我的 View 中对页面进行分页,如下所示:

@foreach($tasks as $task)
    {{ $task->user_id }}
    {{ $task->client_id }}
    {{ $task->description }}
    {{ $task->duration }}
    {{ link_to_route('clients.show', 'View client', array($task->client_id), array('class' => 'btn btn-primary')) }}
@endforeach
    {{ $tasks->links() }}

在我的 Controller 中使用以下查询:

$tasks = DB::table('tasks')
    ->join('users', 'tasks.user_id', '=', 'users.id')
    ->join('clients', 'tasks.client_id', '=', 'clients.id')
    ->select(array('tasks.description', 'tasks.duration', 'tasks.client_id', 'tasks.user_id', 'users.email', 'clients.name'))
    ->where('tasks.group_id', '=', $usergroup)
    ->orderBy('tasks.created_at', 'DESC')
    ->paginate(20);

    return View::make('tasks.index', compact('tasks'));

它显示任务正常,但没有显示分页链接,所以我无法转到下一批 20 个结果。

关于如何使这项工作有任何想法吗?

在我看来,我已经按照 http://forums.laravel.io/viewtopic.php?id=4092 中的建议尝试了 @foreach($tasks->result as $task)但它给了我一个错误“未定义的属性:Illuminate\Pagination\Paginator::$result”

最佳答案

对于那些在家玩的人——我发现了这个问题的答案:

紧凑函数正在将对象转换为数组。将您的返回 View 方法更改为:

return View::make('tasks.index')->with('tasks', $tasks);

而且你没有问题!

另一点 - 如果您像我一样使用 Bootstrap 3 RC1,您会发现分页由于 BS3 样式分页的方式而中断 - 如果您遇到该问题,请前往此处寻求解决方案:https://github.com/laravel/laravel/issues/2215

:)

关于php - Laravel:分页流畅的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17972798/

相关文章:

php - 在 PHP 中使用 saveXML 保存 CDATA

php - Laravel 5.1 Multi-Tenancy 设置

laravel - 在 Laravel 中创建资源路由,无需特定方法

php - 如何在 Laravel 查询生成器中按创建日期计算行数?

php - 如何在 codeigniter、jTable 中仅显示过滤的记录数(从搜索返回的数据数, num_rows() )

php - 使用 php explode ?

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - 如何在 Laravel 4 中使用 SHA1 加密代替 BCrypt?

php - 拉维/Javascript : populate a select/dropdown after a different select/dropdown is selected

php - 在laravel中导入大量记录,每条记录有多个关系