Laravel ORM - 哪里、哪里和分页
Laravel ORM - where, with and paginate
有人可以帮我解决以下 laravel ORM 问题
我有 2 个模型 ProductGroup 和 Product。 ProductGroup 有许多产品并通过 productGroup.product_id 和 product.id
链接
我想要return一组带分页的结果。很简单的愿望,不是吗?
我当前的代码是
$result = ProductGroup::where("name", "=", "laptop")
->with(array("product"=>function($q){
$q->select("id","name");
}))
->get(array("id","product_id","name","created_timestamp"));
它有效,但我不能添加 ->paginate() 否则它会抛出以下错误
Call to undefined method Illuminate\Database\Eloquent\Collection::paginate()
最好的分页方法是什么?我可以手动创建分页(通过 Paginator::make
),但我认为这不好,因为它仍然 return 是整个数据集(减慢了流量)。我可以使用原始查询 limit
结果,但它也很麻烦,因为我需要再次手动计算总结果
我正在使用 Laravel 4.2 和 MySQL
感谢您的帮助
我找到了可以帮助其他人的解决方案
走错路
->get((array("id","product_id","name","created_timestamp"))
->paginate(3)
正确的方法
->paginate(3, (array("id","product_id","name","created_timestamp"))
如有错误,欢迎投反对票
有人可以帮我解决以下 laravel ORM 问题
我有 2 个模型 ProductGroup 和 Product。 ProductGroup 有许多产品并通过 productGroup.product_id 和 product.id
链接我想要return一组带分页的结果。很简单的愿望,不是吗?
我当前的代码是
$result = ProductGroup::where("name", "=", "laptop")
->with(array("product"=>function($q){
$q->select("id","name");
}))
->get(array("id","product_id","name","created_timestamp"));
它有效,但我不能添加 ->paginate() 否则它会抛出以下错误
Call to undefined method Illuminate\Database\Eloquent\Collection::paginate()
最好的分页方法是什么?我可以手动创建分页(通过 Paginator::make
),但我认为这不好,因为它仍然 return 是整个数据集(减慢了流量)。我可以使用原始查询 limit
结果,但它也很麻烦,因为我需要再次手动计算总结果
我正在使用 Laravel 4.2 和 MySQL
感谢您的帮助
我找到了可以帮助其他人的解决方案
走错路
->get((array("id","product_id","name","created_timestamp"))
->paginate(3)
正确的方法
->paginate(3, (array("id","product_id","name","created_timestamp"))
如有错误,欢迎投反对票