【问题标题】:Laravel 5 pagination on raw queryLaravel 5 对原始查询的分页
【发布时间】:2015-04-17 20:30:56
【问题描述】:

我有一个来自 2 个不同表的联合查询,我必须通过原始查询运行。但是我在对结果进行分页时遇到了问题。这就是我所做的

namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Pagination\Paginator;
use Illuminate\Http\Request;

class SiteController extends Controller {
    public function index()
    {
        $result = \DB::select(\DB::raw("UNION query"));
        $result_p = Paginator::make($result , count($result), 10);
        return view('view_name',compact('result'));
    }
}

这会报错

Call to undefined method Illuminate\Pagination\Paginator::make()

感谢任何帮助。

【问题讨论】:

    标签: laravel pagination


    【解决方案1】:

    该类不包含方法make()。相反,将这些变量传递给构造函数。

    $result_p = new Paginator($result, $resultsPerPage, $currentPage, $options);
    

    【讨论】:

    • 谢谢。那行得通。但是如果我想使用外观怎么办,即使用 Paginator::make
    • 这看起来像是一个命名空间问题。立面位于全局命名空间中,因此通常\Facade::make() 应该可以工作。
    • @user3158900 它的工作,但如何访问结果,它显示受保护。
    • 如果您想弄清楚如何做某事,请查看 API。 laravel.com/api/5.2/Illuminate/Contracts/Pagination/… 这里它说它有一个函数 items() 返回所有正在分页的项目。
    猜你喜欢
    • 2014-05-18
    • 2016-02-03
    • 2017-10-04
    • 2017-11-17
    • 2021-03-22
    • 2015-04-14
    • 2012-10-29
    • 1970-01-01
    • 2011-02-01
    相关资源
    最近更新 更多