public function editBorrower(Borrower $borrower, $data, $files = []) { $borrower->getUser()->setEmail($data['email']); $borrower->getProfile()->setAboutMe($data['aboutMe']); $borrower->getProfile()->setAboutBusiness($data['aboutBusiness']); if (!empty($data['password'])) { $borrower->getUser()->setPassword($data['password']); } if (\Input::hasFile('picture')) { $image = \Input::file('picture'); $user = $borrower->getUser(); if ($image) { $upload = Upload::createFromFile($image); $upload->setUser($user); $user->setProfilePicture($upload); //TODO: Test without user save $user->save(); } } if ($files) { $user = $borrower->getUser(); foreach ($files as $file) { $upload = Upload::createFromFile($file); $upload->setUser($user); $borrower->addUpload($upload); } $borrower->save(); } $borrower->save(); }