laravel - Laravel:从带有分页或不带分页的控制器中的索引方法获取数据
问题描述
我正在使用 paginate() 方法在控制器的 index 方法中获取分页数据,但有时我需要整个数据,所以我编写了这样的代码。
public function index(Request $request)
{
if ($request->page === 'all') {
$posts = Post::all();
} else {
$posts = Post::paginate(10);
}
return response([
'posts' => $posts
], Response::HTTP_OK);
}
因此,如果我想获取所有数据,我将页面值发送为all
. 如果我想要分页数据,我将页面值发送为integer
.
它工作正常,但只是想知道是否还有其他更好的方法可以做到这一点?
解决方案
您可以进一步简化您正在使用的代码。
public function index(Request $request)
{
$page = $request->page;
return response([
'posts' => $page === 'all' ? Post::all() : Post::paginate($page)
], Response::HTTP_OK);
}
推荐阅读
- excel - 将多张工作表导出为 PDF 并获得运行时错误 VBA
- html - 如何设置放入蓝色顶栏的搜索容器的背景颜色?
- java - 如何正确清理错误初始化的对象?
- javascript - 用两个值计算价格
- jquery - jQuery 函数在 Ajax 代码之前未触发
- typescript - 如何在用“TypeScript”编写的 Windows 上启动电子应用程序?
- azure-resource-manager - ARM 模板 - 验证参数
- c++ - STM32(在线使用 Mbed)在较高的模拟输入频率下显示延迟
- android - 无法解析配置 ':app:debugCompileClasspath' 的所有文件。> 找不到 com.android.support:support-v4:28.1.0
- flutter - 在颤动中动态地将小部件添加到列的子项