我正在尝试对这样的 Eloquent 关系进行分页:
$query = Product::find(1)->options()->paginate();
但我收到以下错误:
Fatal error: Call to a member function getCurrentPage() on a non-object
我已确认该代码$query = Product::find(1)->options()
返回选项的集合。这$query
对象似乎是类型hasMany
。以下是我正在使用的模型类。
class Product extends Eloquent
{
protected $table = 'products';
public function options ()
{
return $this->hasMany('ProductOption', 'product_id');
}
}
class ProductOption extends Eloquent
{
protected $table = 'product_options';
public function product()
{
return $this->belongsTo('Product', 'product_id');
}
}
eloquent 不会返回关系的分页结果吗?
您不能像那样延迟加载关系分页,而是在您的产品模型中将以下函数放在您的选项下面,它有很多关系
public function getOptionsPaginatedAttribute()
{
return $this->options()->paginate(10);
}
这将允许您通过以下方式调用关系数据的分页
$product->options_paginated
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)