Здравствуйте, есть модель Product. В модель добавил методы prevProduct() и nextProduct():
public function prevProduct()
{
$id = $this->attributes['id'];
$prev_product = Product::where('id', '<', $id)->first();
if ($prev_product) {
$prev_product = Product::where('id', '>', $id)->first();
}
return $prev_product;
}
Как мне добавить результаты этого метода в выборку?
То есть примерно так:
$product = Product::with('prev_product')->where('id', 2)->first();
dd($product->prev_product);
В данном случае ругается Call to undefined method Illuminate\Database\Query\Builder::prev_product()
Пробовал добавлять эти поля в $appends и переименовывать в getPrevProductAttribute, но в этом случае получается зацикливание.
Как быть?