使用 Eloquent ORM 使用 Twig 视图进行 Slim 3 分页
Posted
技术标签:
【中文标题】使用 Eloquent ORM 使用 Twig 视图进行 Slim 3 分页【英文标题】:Slim 3 pagination with Twig view using Eloquent ORM 【发布时间】: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.
【问题讨论】:
【参考方案1】:试试 $data = Todo::paginate(5);
【讨论】:
【参考方案2】:要使用分页,您需要 illuminate/pagination
包。当您包含照明/数据库时,默认情况下不包含它。您可以使用 composer 将其包含在您的项目中:
composer require illuminate/pagination
而且你不应该在调用 all() 或 get() 之后调用 paginate() 方法。试试这个:
$data=Todo::paginate(5);
请注意,要使分页正常工作,它需要知道当前页码,否则它将始终返回第一页的结果。请查看this answer 了解如何设置页面解析器。
【讨论】:
我的错。在你的问题中遗漏了一些重要的东西。我更新了我的答案,但@Lee 已经给出了正确答案以上是关于使用 Eloquent ORM 使用 Twig 视图进行 Slim 3 分页的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 laravel eloquent ORM 插入 PostgreSQL