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

58 lines
1.4 KiB
PHP
Raw Normal View History

2022-09-08 11:36:15 +02:00
<?php
namespace App\Http\Controllers\Fo;
use App\Http\Controllers\Controller;
use App\Models\News;
use App\Models\Product;
use App\Models\Range;
use App\Models\Slide;
2022-09-08 11:36:15 +02:00
class HomeController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Contracts\View\View
*/
public function index(): \Illuminate\Contracts\View\View
2022-09-08 11:36:15 +02:00
{
// Get Slides.
/** @var \Illuminate\Database\Eloquent\Builder $slides */
$slides = Slide::query();
$slides->orderBy('order', 'DESC');
$slides = $slides->get();
// Gammes.
$ranges = Range::all();
// VIP Products.
$threeproducts = Product::where('status', true)
->where('is_vip', true)
->take(3)
->orderBy('order', 'DESC')
->with('subrange.range')
->get();
// Get Agenda.
// Events starting in the future.
2024-02-05 09:33:08 +01:00
$events = News::query()->where('status', true)
->where('event_start', '>', now())
->orderBy('event_start', 'desc')
2024-02-05 09:33:08 +01:00
->take(2)->get()->reverse();
// Get last 3 News.
2024-02-05 09:33:08 +01:00
$news = News::query()->latest()->where('status', true)
->take(3)->with('categories')->get();
return view('fo.pages.home', compact(
'slides',
'ranges',
'threeproducts',
'events',
'news'
));
2022-09-08 11:36:15 +02:00
}
}