Example #1
0
 /**
  * PUT /api/budgets/{budgets}
  * @param Request $request
  * @param budget $budget
  * @return array
  */
 public function update(Request $request, Budget $budget)
 {
     $data = array_filter(array_diff_assoc($request->only(['name', 'type', 'amount', 'starting_date']), $budget->toArray()));
     if (empty($data)) {
         return response($this->transform($this->createItem($budget, new BudgetTransformer(['includeExtra' => true]))), Response::HTTP_NOT_MODIFIED);
     }
     $budget->update($data);
     //Put the calculated amount attribute on the budget
     $remainingBalance = app('remaining-balance')->calculate();
     $budget->getCalculatedAmount($remainingBalance);
     $budget = $this->transform($this->createItem($budget, new BudgetTransformer(['includeExtra' => true])))['data'];
     return response($budget, Response::HTTP_OK);
 }