public function __construct() { if (!Auth::user()->almighty) { return redirect('/'); } $this->season = League::whereHas('events', function ($query) { $query->where('datetime', '<=', date('Y-m-d')); })->max('season'); }
public function index() { $season = League::whereHas('events', function ($query) { $query->where('datetime', '<=', date('Y-m-d')); })->max('season'); $venues = \App\Venue::where(function ($query) { $query->whereRaw('private is not true'); $query->orWhereRaw('id in (select venue_id from t_venue_players where player_id = ' . (Auth::user()->id ?: 0) . ')'); }); $venuesLive = with(clone $venues)->whereHas('leagues', function ($query) use($season) { $query->where('season', '>=', $season); })->get(); $venuesPast = with(clone $venues)->whereDoesntHave('leagues', function ($query) use($season) { $query->where('season', '>=', $season); })->get(); $venuesLive->each(function ($venue) { $venue->current = 1; }); $venuesPast->each(function ($venue) { $venue->current = null; }); $venues = array_merge($venuesLive->all(), $venuesPast->all()); return view('venues.index', compact('venues')); }
public function __construct() { $this->season = League::whereHas('events', function ($query) { $query->where('datetime', '<=', date('Y-m-d')); })->max('season'); }
<?php namespace App\ViewComposers; use View; use Auth; use App\Venue; use App\League; View::composer('partials.select-venue', function ($view) { $season = League::whereHas('events', function ($query) { $query->where('datetime', '<=', date('Y-m-d')); })->max('season'); $venues = Venue::where(function ($query) { $query->whereRaw('private is not true'); $query->orWhereRaw('id in (select venue_id from t_venue_players where player_id = ' . (Auth::user()->id ?: 0) . ')'); }); $venuesLive = with(clone $venues)->whereHas('leagues', function ($query) use($season) { $query->where('season', '>=', $season); })->get(); $venuesPast = with(clone $venues)->whereDoesntHave('leagues', function ($query) use($season) { $query->where('season', '>=', $season); })->get(); $view->with('venuesLive', $venuesLive)->with('venuesPast', $venuesPast); });