public function update($userId, $payload)
    {
        if (isset($payload['meta']) && ! isset($payload['meta']['terms_and_cond'])) {
            throw new Exception("You must agree to the terms and conditions.", 1);
        }

        try {
            return DB::transaction(function () use ($userId, $payload) {
                $user = $this->model->find($userId);

                if (isset($payload['meta']['marketing']) && ($payload['meta']['marketing'] == 1 || $payload['meta']['marketing'] == 'on')) {
                    $payload['meta']['marketing'] = 1;
                } else {
                    $payload['meta']['marketing'] = 0;
                }

                if (isset($payload['meta']['terms_and_cond']) && ($payload['meta']['terms_and_cond'] == 1 || $payload['meta']['terms_and_cond'] == 'on')) {
                    $payload['meta']['terms_and_cond'] = 1;
                } else {
                    $payload['meta']['terms_and_cond'] = 0;
                }

                $userMetaResult = (isset($payload['meta'])) ? $user->meta->update($payload['meta']) : true;

                $user->update($payload);

                if (isset($payload['roles'])) {
                    $this->unassignAllRoles($userId);
                    $this->assignRole($payload['roles'], $userId);
                }

                return $user;
            });
        } catch (Exception $e) {
            throw new Exception("We were unable to update your profile", 1);
        }
    }
public function update($userId, $payload)
    {
        if (isset($payload['meta']) && ! isset($payload['meta']['terms_and_cond'])) {
            throw new Exception("You must agree to the terms and conditions.", 1);
        }

        try {
            return DB::transaction(function () use ($userId, $payload) {
                $user = $this->model->find($userId);

                if (isset($payload['meta']['marketing']) && ($payload['meta']['marketing'] == 1 || $payload['meta']['marketing'] == 'on')) {
                    $payload['meta']['marketing'] = 1;
                } else {
                    $payload['meta']['marketing'] = 0;
                }

                if (isset($payload['meta']['terms_and_cond']) && ($payload['meta']['terms_and_cond'] == 1 || $payload['meta']['terms_and_cond'] == 'on')) {
                    $payload['meta']['terms_and_cond'] = 1;
                } else {
                    $payload['meta']['terms_and_cond'] = 0;
                }

                $userMetaResult = (isset($payload['meta'])) ? $user->meta->update($payload['meta']) : true;

                $user->update($payload);

                if (isset($payload['roles'])) {
                    $this->unassignAllRoles($userId);
                    $this->assignRole($payload['roles'], $userId);
                }

                return $user;
            });
        } catch (Exception $e) {
            throw new Exception("We were unable to update your profile", 1);
        }
    }
public function update ( $ userId , $ payload ) { if ( isset ( $ payload [ 'meta' ] ) && ! isset ( $ payload [ 'meta' ] [ 'terms_and_cond' ] ) ) { throw new Exception ( "You must agree to the terms and conditions." , 1 ) ; } try { return DB :: transaction ( function ( ) use ( $ userId , $ payload ) { $ user = $ this -> model -> find ( $ userId ) ; if ( isset ( $ payload [ 'meta' ] [ 'marketing' ] ) && ( $ payload [ 'meta' ] [ 'marketing' ] == 1 || $ payload [ 'meta' ] [ 'marketing' ] == 'on' ) ) { $ payload [ 'meta' ] [ 'marketing' ] = 1 ; } else { $ payload [ 'meta' ] [ 'marketing' ] = 0 ; } if ( isset ( $ payload [ 'meta' ] [ 'terms_and_cond' ] ) && ( $ payload [ 'meta' ] [ 'terms_and_cond' ] == 1 || $ payload [ 'meta' ] [ 'terms_and_cond' ] == 'on' ) ) { $ payload [ 'meta' ] [ 'terms_and_cond' ] = 1 ; } else { $ payload [ 'meta' ] [ 'terms_and_cond' ] = 0 ; } $ userMetaResult = ( isset ( $ payload [ 'meta' ] ) ) ? $ user -> meta -> update ( $ payload [ 'meta' ] ) : true ; $ user -> update ( $ payload ) ; if ( isset ( $ payload [ 'roles' ] ) ) { $ this -> unassignAllRoles ( $ userId ) ; $ this -> assignRole ( $ payload [ 'roles' ] , $ userId ) ; } return $ user ; } ) ; } catch ( Exception $ e ) { throw new Exception ( "We were unable to update your profile" , 1 ) ; } }
Update a user's profile

@param  int $userId User Id
@param  array $inputs UserMeta info
@return User
Update a user s profile