Jen*_*ang 5 php laravel eloquent
我试图像这样分页一个雄辩的关系:
$query = Product::find(1)->options()->paginate();
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
Fatal error: Call to a member function getCurrentPage() on a non-object
Run Code Online (Sandbox Code Playgroud)
我已确认代码$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');
}
}
Run Code Online (Sandbox Code Playgroud)
雄辩不会为关系返回分页结果吗?
小智 15
你不能像那样延迟加载关系分页,而是在你的产品模型中把下面的函数放在你的选项下面有很多关系
public function getOptionsPaginatedAttribute()
{
return $this->options()->paginate(10);
}
Run Code Online (Sandbox Code Playgroud)
这将允许您通过以下方式调用关系数据的分页
$product->options_paginated
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4335 次 |
| 最近记录: |