I have this promise-chain. in the second promise, I need user, that is returned by user.save. How can I get it without breaking the promise-chain? I need it to be one chain because I need the last promise to return the right attribute to the promise of when the function is called.

I call a method like this:

```
User.createRider(req.query).then((user) => {
    res.json(user);
});

User = sequelize.define('user', {},{
    classMethods: {
        createRider: function(params) {
            var values = [],
                userAttributes = sequelize.models.userAttributes,
                user = User.build(),
                name = userAttributes.build({name: 'name', value: params.name}),
                fbprofile = userAttributes.build({name: 'fbprofile', value: params.fbprofile}),
                phone = userAttributes.build({name: 'phone', value: params.phone});

            user = user.save()
                    .then(sequelize.Promise.all([
                            fbprofile.save(),
                            name.save(),
                            phone.save()
                        ])
                    )
                    .then((attributes) => {
                        user.addUserAttributes(attributes);
                        return user;
                    });
            return user;
        }
    }
});

```