gpt4 book ai didi

php - 如何使用 Laravel 的 Paginate() 输出当前迭代?

转载 作者:行者123 更新时间:2023-11-29 04:17:46 24 4
gpt4 key购买 nike

Laravel 5.2 应用程序。

我的 Controller 中有一个函数,它使用一个 order by 子句查询我的数据库,然后分页到该子句。

public function foo() {

$results = DB::orderBy('name', 'desc')->paginate(15);
return view('index', ['results' => $results]);

}

索引.blade.php

@foreach ($results as $result)
<tr>
<td>{{ //current $result position is what I need }}</td>
<td>{{ $result->name }}<td>
//etc...
</tr>
@endforeach

如何输出当前行顺序迭代?

例如

Rank | name | //page 1
1 bob
2 john
3 katie
Rank | name | //page 2
4 dave
5 michael
6 ruben

通常我只会输出 id 但由于我有一个 orderBy 子句,ID 不会正确反射(reflect)当前排名。如果我执行类似 for() 循环的操作,那么当我转到下一页时,它会将第二页上的第一个结果重置为排名 1,即使它是下一页。

Laravel 是否有实现此目的的特定方法?我已查看文档,但无法找到我要查找的内容。

最佳答案

我能够比通过 firstItem() 方法提供的建议更优雅地做到这一点。

public function foo() {

$results = DB::orderBy('name', 'desc')->paginate(15);

$rank = $results->firstItem();

return view('index', ['rank' => $rank, 'players' => $players]);

}


index.blade.php

@foreach ($results as $result)
<tr>
<td>{{ $rank++ }}</td>
<td>{{ $result->name }}<td>
//etc...
</tr>
@endforeach

关于php - 如何使用 Laravel 的 Paginate() 输出当前迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36433868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com