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();
Другие вопросы по тегам