/** * 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'); }