/** * @param Carbon $start * @param Carbon $end * * @return Collection */ public function getAllBudgetLimitRepetitions(Carbon $start, Carbon $end) : Collection { $query = LimitRepetition::leftJoin('budget_limits', 'limit_repetitions.budget_limit_id', '=', 'budget_limits.id')->leftJoin('budgets', 'budgets.id', '=', 'budget_limits.budget_id')->where('limit_repetitions.startdate', '<=', $end->format('Y-m-d 00:00:00'))->where('limit_repetitions.startdate', '>=', $start->format('Y-m-d 00:00:00'))->where('budgets.user_id', $this->user->id); $set = $query->get(['limit_repetitions.*', 'budget_limits.budget_id']); return $set; }
/** * @param Carbon $start * @param Carbon $end * * @return Collection */ public function getAllBudgetLimitRepetitions(Carbon $start, Carbon $end) { /** @var Collection $repetitions */ return LimitRepetition::leftJoin('budget_limits', 'limit_repetitions.budget_limit_id', '=', 'budget_limits.id')->leftJoin('budgets', 'budgets.id', '=', 'budget_limits.budget_id')->where('limit_repetitions.startdate', '<=', $end->format('Y-m-d 00:00:00'))->where('limit_repetitions.startdate', '>=', $start->format('Y-m-d 00:00:00'))->where('budgets.user_id', Auth::user()->id)->get(['limit_repetitions.*', 'budget_limits.budget_id']); }
/** * @deprecated * * @param Budget $budget * @param Carbon $date * * @return float|null */ public function getLimitAmountOnDate(Budget $budget, Carbon $date) { $repetition = LimitRepetition::leftJoin('budget_limits', 'limit_repetitions.budget_limit_id', '=', 'budget_limits.id')->where('limit_repetitions.startdate', $date->format('Y-m-d 00:00:00'))->where('budget_limits.budget_id', $budget->id)->first(['limit_repetitions.*']); if ($repetition) { return $repetition->amount; } return null; }