php - Laravel 5.4 - 从数组集合产品中分页

标签 php pagination namespaces laravel-5.4

我正在尝试为集合的产品分页,如下所示:

$products_array = array();

        for ($i=0; $i < count($t); $i++) { 

            $p = Product::where('category_id',$t[$i]->category_default)->where('project_id',$t[$i]->id)->first();
            array_push($products_array, $p);
        }

        $paginate = new Illuminate\Pagination\LengthAwarePaginator($products_array, count($products_array), 10, 1, ['path'=>url('api/products')]);

        dd($paginate);

但我收到此错误:

FatalThrowableError in HomeController.php line 75: Class 'Shop\Http\Controllers\Illuminate\Pagination\LengthAwarePaginator' not found



我不知道这是否是最好的方法,我很感激你的帮助。

最佳答案

该错误实际上是自我解释的。您正在尝试使用 Illuminate\Pagination\LengthAwarePaginator来自当前命名空间,这是 Shop\Http\Controllers .

要解决此问题,请添加前导反斜杠,如下所示:

$paginate = new \Illuminate\Pagination\LengthAwarePaginator($products_array, count($products_array), 10, 1, ['path'=>url('api/products')]);

或在此 PHP 文件的开头(打开 PHP 标签后)添加新行:
use Illuminate\Pagination\LengthAwarePaginator;

然后你可以像这样写上面的行:
$paginate = new LengthAwarePaginator($products_array, count($products_array), 10, 1, ['path'=>url('api/products')]);

要阅读有关 PHP 中命名空间的更多信息,您可以在这里查看:https://stackoverflow.com/a/24607087/3593996

关于php - Laravel 5.4 - 从数组集合产品中分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44997451/

相关文章:

php - 如何使用 PHP 仅返回文件名的第一部分,而不返回扩展名, ".php"

MySQL 在 SQL Server 中的 LIMIT

Objective-C 类型别名优先于 Swift 类

php - 如何更改导入类使用的类的命名空间?

php - mysql insert ignore, replace or update on duplicate - 插入了吗?

file_exists() 或类似函数的 php 缓存过期时间

php - "Meta-objects"?

javascript - 对大量数据进行分页的正确方法

javascript - 使用搜索参数创建分页链接

php - 使用自定义存储库和包使用 Composer 设置项目