Laravel 5.1: разбиение на страницы в моделях с hasManyThrough()
У меня есть "Бренд" hasManyThrough
"МаркетПродукт" через "Продукт". Так,
Brand >> Product >> MarketProduct
где >>
представляет hasMany
отношения. Я могу получить коллекцию (Illuminate\Database\Eloquent\Collection
) из MarketProducts
как показано ниже hasManyThrough()
метод, определенный в Brand
,
$collection = Brand::find($someId)->marketProducts;
Проблема в том, что $colletion
не является экземпляром Query Builder или Eloquent, поэтому я не могу использовать ->paginate($num)
, Можно ли использовать функцию нумерации страниц по умолчанию при использовании hasManyThrough
или мне нужно построить запрос вручную, чтобы использовать нумерацию страниц?
1 ответ
Если вы посмотрите на документ, он упоминает
... поскольку все отношения также служат построителями запросов, вы можете добавить дополнительные ограничения, к которым извлекаются комментарии, вызвав метод comments и продолжая связывать условия в запросе...
Итак, решение таково:
$collection = Brand::find($someId)->marketProducts();