ldc-le-gaulois-pro/app/Http/Controllers/Fo/ExpertiseController.php
2023-01-12 11:38:19 +00:00

134 lines
4.2 KiB
PHP

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