I was struggling with my Phalcon project because of this. I am using Annotations with my Models, and I created one to simulate the skipAttributes feature. I used it in a Model with an id attribute ( @Primary and @Identity annotations). I wanted to skip this column in order to avoid setting it manually - it is an auto incremented column in the database. But I realized that it did not work like that - it allowed me to set the value of the id and inserted the new row like that - changing the NextAutoIndex of the table.
I know my attribute should not be public and should not have a setter, but in terms of the ORM process, is there a reason behind this that I am missing?