Merge branch 'develop' into trunk
This commit is contained in:
commit
e6e8d67b4c
1 changed files with 11 additions and 4 deletions
|
|
@ -40,18 +40,19 @@ class ProductController extends Controller
|
|||
Collection $subrangeModelsFiltered = null,
|
||||
Collection $submeatModelsFiltered = null,
|
||||
): \Illuminate\Contracts\View\View {
|
||||
|
||||
/** @var \Illuminate\Contracts\Pagination\LengthAwarePaginator $productModels */
|
||||
$productModels = $productModelsFiltered ?? Product::query()
|
||||
->where('published', true)
|
||||
->orderBy('slug')
|
||||
->paginate($this->productModelsPerPage);
|
||||
|
||||
$productDiscoverModels = Product::getPublishedDiscovered();
|
||||
$staticPageModel = StaticPage::getCachedStaticPage(StaticPageType::products);
|
||||
$rangeModels = Range::getPublishedOrderedWithSubranges();
|
||||
$subrangeModels = $subrangeModelsFiltered ?? Subrange::getPublishedOrdered();
|
||||
$meatModels = Meat::getPublishedOrderedWithSubmeats();
|
||||
$submeatModels = $submeatModelsFiltered ?? Submeat::getPublishedOrdered();
|
||||
|
||||
return view('fo.pages.products.index', [
|
||||
'viewsPaginate' => $this->getViewsFromPaginateModels($productModels),
|
||||
'productDiscoverModels' => $productDiscoverModels,
|
||||
|
|
@ -248,14 +249,19 @@ class ProductController extends Controller
|
|||
->where('published', true)
|
||||
->orderBy('order')
|
||||
->get();
|
||||
|
||||
$productModels = Product::query()
|
||||
->with(['range', 'subrange', 'meat', 'submeat'])
|
||||
->where('published', true)
|
||||
->when(!is_null($rangeModel), function (Builder $q) use ($rangeModel) {
|
||||
->when(!is_null($rangeModel), function (Builder $q) use ($rangeModel, $request) {
|
||||
$q->whereHas('range', function (Builder $q) use ($rangeModel) {
|
||||
$q->where('published', true)->where('id', $rangeModel->getKey());
|
||||
})->orWhereHas('subrange', function (Builder $q) use ($rangeModel) {
|
||||
$q->where('published', true)->whereIn('id', $rangeModel->subranges->pluck('id')->toArray());
|
||||
})->orWhereHas('subrange', function (Builder $q) use ($rangeModel, $request) {
|
||||
if($request->child_slug) {
|
||||
$q->where('published', true)->where("slug", $request->child_slug);
|
||||
} else {
|
||||
$q->where('published', true)->whereIn('id', $rangeModel->subranges->pluck('id')->toArray());
|
||||
}
|
||||
});
|
||||
})
|
||||
->where('published', true)
|
||||
|
|
@ -267,6 +273,7 @@ class ProductController extends Controller
|
|||
'children' => $subrangeModels,
|
||||
]);
|
||||
}
|
||||
|
||||
return $this->index($productModels, $subrangeModels);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue