piggyBankRepetitions()->get(); if ($reps->count() == 1) { return $reps->first(); } // should filter the one we need: $repetitions = $reps->filter( function (\PiggyBankRepetition $rep) use ($date) { if ($date->between($rep->startdate, $rep->targetdate)) { return $rep; } return null; } ); if ($repetitions->count() == 0) { return null; } return $repetitions->first(); } /** * Returns all objects. * * @return Collection */ public function get() { return $this->getUser()->piggyBanks()->where('repeats', 0)->orderBy('name')->get(); } }