Laravel 5 Pagination - 项目范围缺失(显示x的x)

时间:2015-03-12 21:55:37

标签: php laravel pagination laravel-5

我从Laravel 4升级到Laravel 5并注意到我无法再在Paginator对象上调用getFrom()getTo()

我可以在源代码(Illuminate\Pagination\Pagintor.php)中看到,与L4相比,它不再具有protected function calculateItemRanges()。我在这里错过了什么吗?如何显示范围,例如Now showing x of x现在在laravel 5?这是我现在必须添加的东西吗?为什么它首先被删除了?

2 个答案:

答案 0 :(得分:4)

新方法称为firstItem()lastItem()

In the source

/**
 * Get the number of the first item in the slice.
 *
 * @return int
 */
public function firstItem()
{
    return ($this->currentPage - 1) * $this->perPage + 1;
}

/**
 * Get the number of the last item in the slice.
 *
 * @return int
 */
public function lastItem()
{
    return $this->firstItem() + $this->count() - 1;
}

答案 1 :(得分:0)

我会说在给定这些函数的当前逻辑的情况下,如果没有检索到数据,则firstItem()和lastItem()可能会出现问题

例如,控制器中的代码:

$users = App\User::select('id')->paginate(10);
$begin =  $users->firstItem();
$end = $users->lastItem();

return view('users/index')->with('begin',$begin)->with('end',$end);

视图中的代码:

<p>showing item {{$begin}} to {{$end}}</p>

结果,它显示错误的信息:显示第1项到第0项。

我已经在这个问题上创建了issue和laravel / framework的建议。