balanceEntries = new Collection; } /** * @param BalanceEntry $balanceEntry */ public function addBalanceEntry(BalanceEntry $balanceEntry) { $this->balanceEntries->push($balanceEntry); } /** * @return BudgetModel */ public function getBudget() { return $this->budget; } /** * @param BudgetModel $budget */ public function setBudget($budget) { $this->budget = $budget; } /** * @return float */ public function left() { $start = $this->getBudgetAmount(); /** @var BalanceEntry $balanceEntry */ foreach ($this->getBalanceEntries() as $balanceEntry) { $start += $balanceEntry->getSpent(); } return $start; } /** * @return float */ public function getBudgetAmount() { return $this->budgetAmount; } /** * @param float $budgetAmount */ public function setBudgetAmount($budgetAmount) { $this->budgetAmount = $budgetAmount; } /** * @return Collection */ public function getBalanceEntries() { return $this->balanceEntries; } /** * @param Collection $balanceEntries */ public function setBalanceEntries($balanceEntries) { $this->balanceEntries = $balanceEntries; } }