【问题标题】:Slim 3 pagination with Twig view using Eloquent ORM使用 Eloquent ORM 使用 Twig 视图进行 Slim 3 分页
【发布时间】:2017-07-21 14:02:24
【问题描述】:

我正在为我的 slim 3 应用程序使用 Twig 视图,但我不知道如何使用下面雄辩的 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.

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      要使用分页,您需要 illuminate/pagination 包。当您包含照明/数据库时,默认情况下不包含它。您可以使用 composer 将其包含在您的项目中:

      composer require illuminate/pagination
      

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

      $data=Todo::paginate(5);
      

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

      【讨论】:

      • 我的错。在你的问题中遗漏了一些重要的东西。我更新了我的答案,但@Lee 已经给出了正确答案
      猜你喜欢
      • 2017-03-16
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 2014-08-27
      • 2012-04-02
      相关资源
      最近更新 更多