If you get an error, either the view is not logically updatable, or the query processor can't tell that it is.
That is the subtlety behind the phrase, "..Database Engine must be able to..." The easiest way to be sure that a view is updatable is to request a pre-execution ("estimated") plan for the update query.
The following sections will demonstrate how to efficiently convert form data into entities so that they can be validated and saved.
Before editing and saving data back to your database, you’ll need to convert the request data from the array format held in the request, and the entities that the ORM uses.
The first one is obviously through web forms and the other is by directly generating or changing data in the code to be sent to the database.
When modifying records by directly setting or changing the properties no validation happens, which is a problem when accepting form data.
This has the advantage that only the fields that actually changed will be saved, as opposed to sending all fields to the database to be persisted.A common example of changing the data before it is validated is trimming all fields before saving: Because of how the marshalling process works, if a field does not pass validation it will automatically be removed from the data array and not be copied into the entity.This is to prevent inconsistent data from entering the entity object.You can fine tune which associations are saved by using the When saving has Many associations, associated records will either be updated, or inserted.For the case that the record already has associated records in the database, you have the choice between two saving strategies: When saving, existing links will be removed and new links will be created in the junction table. you're not breaking the rules for updateable views, then you should be okay. So not using a view for updates seems to be the safest approach.