App\Repositories\Backend\Access\User\UserRepository::create PHP Method

create() public method

public create ( Model $input )
$input Illuminate\Database\Eloquent\Model
    public function create($input)
    {
        $data = $input['data'];
        $roles = $input['roles'];
        $user = $this->createUserStub($data);
        DB::transaction(function () use($user, $data, $roles) {
            if (parent::save($user)) {
                //User Created, Validate Roles
                if (!count($roles['assignees_roles'])) {
                    throw new GeneralException(trans('exceptions.backend.access.users.role_needed_create'));
                }
                //Attach new roles
                $user->attachRoles($roles['assignees_roles']);
                //Send confirmation email if requested
                if (isset($data['confirmation_email']) && $user->confirmed == 0) {
                    $user->notify(new UserNeedsConfirmation($user->confirmation_code));
                }
                event(new UserCreated($user));
                return true;
            }
            throw new GeneralException(trans('exceptions.backend.access.users.create_error'));
        });
    }

Usage Example

 /**
  * @param StoreUserRequest $request
  * @return mixed
  */
 public function store(StoreUserRequest $request)
 {
     $this->users->create(['data' => $request->except('assignees_roles'), 'roles' => $request->only('assignees_roles')]);
     return redirect()->route('admin.access.user.index')->withFlashSuccess(trans('alerts.backend.users.created'));
 }