Exemplo n.º 1
0
 /**
  * Update the specified resource in storage.
  *passing array for function sync
  * @param  int  $id
  * @return Response
  */
 public function update($id, AccountRequest $request)
 {
     //email verification - unique
     $email = $request->input('email');
     $accounts = Account::where('email', $email)->get();
     $numOfAccount = $accounts->count();
     $accountIds = $accounts->lists('id');
     if ($numOfAccount == 1 && $accountIds[0] == $id) {
         $account = Account::findOrFail($id);
         $account->update($request->all());
         //users - accounts
         Auth::user()->accounts()->sync([$id]);
         //account - files
         if ($request->file('file')) {
             $fileOrgName = $request->file('file')->getClientOriginalName();
             $filePath = realpath('fileStorage') . '/' . $id;
             if (!file_exists($filePath)) {
                 File::makeDirectory($filePath, 0775, true);
             }
             $account->files()->create(['file' => $fileOrgName]);
             $request->file('file')->move($filePath, $fileOrgName);
         }
     } else {
         Session::flash('flash_message', 'Your email already has been taken. Please try another one.');
         Session::flash('flash_message_important', true);
     }
     return redirect('accounts');
 }