App\Repositories\User\UserRepository::update PHP Method

update() public method

public update ( $id, $requestData )
    public function update($id, $requestData)
    {
        $settings = Settings::first();
        $companyname = $settings->company;
        $user = User::findorFail($id);
        $password = bcrypt($requestData->password);
        $role = $requestData->roles;
        $department = $requestData->departments;
        if ($requestData->hasFile('image_path')) {
            $settings = Settings::findOrFail(1);
            $companyname = $settings->company;
            $file = $requestData->file('image_path');
            $destinationPath = public_path() . '\\images\\' . $companyname;
            $filename = str_random(8) . '_' . $file->getClientOriginalName();
            $file->move($destinationPath, $filename);
            if ($requestData->password == "") {
                $input = array_replace($requestData->except('password'), ['image_path' => "{$filename}"]);
            } else {
                $input = array_replace($requestData->all(), ['image_path' => "{$filename}", 'password' => "{$password}"]);
            }
        } else {
            if ($requestData->password == "") {
                $input = array_replace($requestData->except('password'));
            } else {
                $input = array_replace($requestData->all(), ['password' => "{$password}"]);
            }
        }
        $user->fill($input)->save();
        $user->roles()->sync([$role]);
        $user->department()->sync([$department]);
        Session::flash('flash_message', 'User successfully updated!');
        return $user;
    }

Usage Example

 /**
  * Update the specified resource in storage.
  *
  * @param UserEditRequest   $request
  * @param                   $id
  *
  * @return mixed
  */
 public function update(UserEditRequest $request, $id)
 {
     return $this->user->update($id, $request->all());
 }