Laravel: разбиение на страницы беглого запроса


Я пытаюсь разбить страницу на страницы в моем представлении следующим образом:

@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() }}

Используя следующий запрос в моем контроллере:

$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 результатов.

Есть идеи о том, как я могу заставить это работать?

Я попробовал @foreach ($задачи ->результат как $задача), на мой взгляд, как предложено в http://forums.laravel.io/viewtopic.php?id=4092 но это дает мне ошибку "Не определено свойство: Подсветка\Разбивка на страницы\Разбиение на страницы::$результат"

Author: Josh, 2013-07-31

1 answers

Для тех, кто играет дома - я нашел ответ на этот вопрос:

Компактная функция преобразует объект в массив. Измените метод представления возврата на:

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

И ты вне подозрений!

Еще один момент - если вы используете Bootstrap 3 RC1, как я, вы обнаружите, что разбивка на страницы прерывается из-за того, как BS3 стилизует разбивку на страницы - если у вас есть эта проблема, обратитесь сюда за решением: https://github.com/laravel/laravel/issues/2215

:)

 3
Author: Josh, 2013-08-02 14:43:52