belongsTo('FireflyIII\Models\PiggyBank'); } /** * @param EloquentBuilder $query * @param Carbon $start * @param Carbon $target * * @return $this */ public function scopeOnDates(EloquentBuilder $query, Carbon $start, Carbon $target) { return $query->where('startdate', $start->format('Y-m-d'))->where('targetdate', $target->format('Y-m-d')); } /** * @param EloquentBuilder $query * @param Carbon $date * * @return mixed */ public function scopeRelevantOnDate(EloquentBuilder $query, Carbon $date) { return $query->where( function (EloquentBuilder $q) use ($date) { $q->where('startdate', '<=', $date->format('Y-m-d 00:00:00')); $q->orWhereNull('startdate'); } ) ->where( function (EloquentBuilder $q) use ($date) { $q->where('targetdate', '>=', $date->format('Y-m-d 00:00:00')); $q->orWhereNull('targetdate'); } ); } }