saverbehavior Allows simple saving of related models

relationalSave - which saves models and returns false if any of models has not been saved.
Component saves model inside DB transaction, and it tries to save all models.
If saving is not successful component rollbacks transaction.

See the following code snippet to see how it works. you should create all models or array of models to be saved, then for the main model you should call saveWith method passing models which needs to be saved with main model, data for those models and the name of the field to save primary/foreign keys. Optional parameter is $processor that should implement "validate" method accepting an array of models. This method will be called to validate an array of related models. For example, if you need verify a sum of payments and each payment is a separate model.

As far as I can see eadvancedarbehavior uses afterSave() to save relations data. So if model is not saved due to validation errors afterSave() won't be called and validation of the related models will not occur.
Of cource, you can write a code to perform validation of all models before you actually save them. But in saverbehavior I rely on transactions mechanism and all validation is performed when save() method is called. Because saving of the related models does not depends on the afterSave() all models would be validated.