hasMany(Slide::class, 'slider_id')->orderBy('order', 'ASC'); } /** * filtered slides relation by showable date * * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function showableSlides() { $now = Carbon::now(); return $this->hasMany(Slide::class, 'slider_id') ->orderBy('order', 'ASC')->where(function ($q) use ($now) { $q->whereDate('date_start', '<=', $now) ->orWhereNull('date_start'); })->where(function ($q) use ($now) { $q->whereDate('date_end', '>=', $now) ->orWhereNull('date_end'); }); } }