categories = new Collection; } /** * @param CategoryModel $category */ public function addCategory(CategoryModel $category) { if ($category->spent > 0) { $this->categories->push($category); } } /** * @param float $add */ public function addTotal($add) { $add = strval(round($add, 2)); bcscale(2); $this->total = bcadd($this->total, $add); } /** * @return Collection */ public function getCategories() { $set = $this->categories->sortByDesc( function (CategoryModel $category) { return $category->spent; } ); return $set; } /** * @return string */ public function getTotal() { return strval(round($this->total, 2)); } }