使用Eloquent ORM对Twig视图进行超薄3分页

时间:2017-03-02 01:41:23

标签: eloquent twig slim laravel-pagination laravel-paginate

我正在使用Twig视图来处理我的苗条3应用程序,但我不知道如何使用下面的雄辩ORM进行分页是我的代码。

模特:

namespace App\Models;
use Illuminate\Database\Eloquent\Model;

class Todo extends Model
{
    protected $table = "todo";
    protected $fillable = [
        'todo_name',
    ];
}

这是我渲染视图的代码

use App\Models\Todo;
$app->get('/', function ($request, $response) {
    $data = Todo::all()->paginate(5);
    return $this->view->render($response, 'home.twig', [
        'title' => 'Home',
        'todolist' => $data,
    ]);
})->setName('homepage');

我收到了这个错误

Method paginate does not exist.

2 个答案:

答案 0 :(得分:1)

尝试$ data = Todo :: paginate(5);

答案 1 :(得分:0)

要使用分页,您需要illuminate/pagination个包。当您包含illuminate / database时,默认情况下不包括它。您可以使用composer将其包含在项目中:

composer require illuminate/pagination

在调用all()或get()之后,不应该调用paginate()方法。试试这个:

$data=Todo::paginate(5);

请注意,为了使分页正常工作,它需要知道当前页码,否则它将始终返回第一页的结果。请查看this answer,了解如何设置页面解析器。