ldc-le-gaulois-pro/app/Http/Controllers/Fo/ExpertiseController.php

126 lines
4.7 KiB
PHP
Raw Normal View History

2022-10-26 16:53:58 +02:00
<?php
namespace App\Http\Controllers\Fo;
use App\Enums\Advices\AdviceTypeEnum;
use App\Enums\ExpertiseProducts\ExpertiseProductPageEnum;
2023-01-12 11:35:06 +00:00
use App\Enums\Products\ProductSpeciesEnum;
use App\Http\Controllers\Controller;
2023-01-12 11:35:06 +00:00
use App\Models\Advice;
use App\Models\ExpertiseProduct;
2023-01-12 11:35:06 +00:00
use App\Models\Product;
2022-10-26 16:53:58 +02:00
class ExpertiseController extends Controller
{
/**
* Undocumented function
*
* @return \Illuminate\Contracts\View\View
*
2022-10-26 16:53:58 +02:00
*/
public function canard(): \Illuminate\Contracts\View\View
2022-10-26 16:53:58 +02:00
{
// Get VIP Products for this page.
$vip = ExpertiseProduct::query()->where('page', ExpertiseProductPageEnum::duck->value())->get();
$products = Product::query()->where('status', true)
->where('species', ProductSpeciesEnum::canard->value())
2023-01-12 11:35:06 +00:00
->inRandomOrder()
->limit(3)
->with('subrange.range')
->get();
$recipes = Advice::query()->whereHas('products', function ($query) {
return $query->where('species', ProductSpeciesEnum::canard->value());
})->where('type', AdviceTypeEnum::recipes)->limit(3)->get();
2023-01-12 11:35:06 +00:00
return view('fo.pages.expertise.canard', compact('vip', 'products', 'recipes'));
2022-10-26 16:53:58 +02:00
}
/**
* Undocumented function
*
* @return \Illuminate\Contracts\View\View
*/
public function dinde(): \Illuminate\Contracts\View\View
2022-10-26 16:53:58 +02:00
{
// Get VIP Products for this page.
$vip = ExpertiseProduct::query()->where('page', ExpertiseProductPageEnum::turkey->value())->get();
$products = Product::query()->where('status', true)
->where('species', ProductSpeciesEnum::dinde->value())
2023-01-12 11:35:06 +00:00
->inRandomOrder()
->limit(3)
->with('subrange.range')
->get();
$recipes = Advice::query()->whereHas('products', function ($query) {
return $query->where('species', ProductSpeciesEnum::dinde->value());
})->where('type', AdviceTypeEnum::recipes)->limit(3)->get();
2023-01-12 11:35:06 +00:00
return view('fo.pages.expertise.dinde', compact('vip', 'products', 'recipes'));
2022-10-26 16:53:58 +02:00
}
/**
* Undocumented function
*
* @return \Illuminate\Contracts\View\View
*/
public function lapin(): \Illuminate\Contracts\View\View
2022-10-26 16:53:58 +02:00
{
// Get VIP Products for this page.
$vip = ExpertiseProduct::query()->where('page', ExpertiseProductPageEnum::rabbit->value())->get();
$products = Product::query()->where('status', true)
->where('species', ProductSpeciesEnum::lapin->value())
2023-01-12 11:35:06 +00:00
->inRandomOrder()
->limit(3)
->with('subrange.range')
->get();
$recipes = Advice::query()->whereHas('products', function ($query) {
return $query->where('species', ProductSpeciesEnum::lapin->value());
})->where('type', AdviceTypeEnum::recipes)->limit(3)->get();
2023-01-12 11:35:06 +00:00
return view('fo.pages.expertise.lapin', compact('vip', 'products', 'recipes'));
2022-10-26 16:53:58 +02:00
}
/**
* Undocumented function
*
* @return \Illuminate\Contracts\View\View
*/
public function pintade(): \Illuminate\Contracts\View\View
2022-10-26 16:53:58 +02:00
{
// Get VIP Products for this page.
$vip = ExpertiseProduct::query()->where('page', ExpertiseProductPageEnum::guineafowl->value())->get();
$products = Product::query()->where('status', true)
->where('species', ProductSpeciesEnum::pintade->value())
2023-01-12 11:35:06 +00:00
->inRandomOrder()
->limit(3)
->with('subrange.range')
->get();
$recipes = Advice::query()->whereHas('products', function ($query) {
return $query->where('species', ProductSpeciesEnum::pintade->value());
})->where('type', AdviceTypeEnum::recipes)->limit(3)->get();
2023-01-12 11:35:06 +00:00
return view('fo.pages.expertise.pintade', compact('vip', 'products', 'recipes'));
2022-10-26 16:53:58 +02:00
}
/**
* Undocumented function
*
* @return \Illuminate\Contracts\View\View
*/
public function poulet(): \Illuminate\Contracts\View\View
2022-10-26 16:53:58 +02:00
{
// Get VIP Products for this page.
$vip = ExpertiseProduct::query()->where('page', ExpertiseProductPageEnum::chicken->value())->get();
$products = Product::query()->where('status', true)
->where('species', ProductSpeciesEnum::poulet->value())
2023-01-12 11:35:06 +00:00
->inRandomOrder()
->limit(3)
->with('subrange.range')
->get();
$recipes = Advice::query()->whereHas('products', function ($query) {
return $query->where('species', ProductSpeciesEnum::poulet->value());
})->where('type', AdviceTypeEnum::recipes)->limit(3)->get();
2023-01-12 11:35:06 +00:00
return view('fo.pages.expertise.poulet', compact('vip', 'products', 'recipes'));
2022-10-26 16:53:58 +02:00
}
}