为了得到这个工作,我不得不绕过雄辩的关系。我创建了一个存储库。
在这个例子中,用户有很多报告。
应用程序\库\ ReportsRepository
这会得到用户的报告记录。
namespace App\Repositories;
use App\User;
class ReportsRepository
{
public function findByUser(User $user, $paginate = 10)
{
$reports = User::find($user->id)
->reports()
->orderBy('created_at', 'DESC')
->paginate($paginate);
return $reports;
}
}
ReportController
这里我们所说的ReportsRepositroy得到记录(我已经删除了验证代码)。
class ReportController extends Controller
{
public function index(\App\Repositories\ReportsRepository $repo)
{
$reports = $repo->findByUser(Auth::user());
return view('report.index', ['reports' => $reports]);
}
}
视图 - 报告/ index.blade.php
这里分页最重要的一点是{! $ reports-> render()!!}。这会生成分页的链接。
@extends('layout.master')
@section('content')
<div class="content">
<h1>Reports</h1>
@if ($reports->count())
<table class="table">
<thead>
<tr>
<th>Status</th>
<th>Info</th>
<th>Date</th>
</tr>
</thead>
<tbody>
@foreach($reports as $report)
<tr class="{{ $report['status'] }}">
<td>{{ $report['status'] }}</td>
<td>{{ $report['info'] }}</td>
<td>{{ $report['created_at'] }}</td>
</tr>
@endforeach
</tbody>
</table>
@else
<p>No records exist.</p>
@endif
{!! $reports->render() !!}
</div>
@stop
这就是所有需要的。 Laravel处理其他分页魔法本身。
希望这会有所帮助。
我不认为你可以添加一个分页方法的关系。为关系实现分页。你需要做的是分页应用程序变量时返回控制器.. –