I got a huge admin panel and there were a lot of different forms, entities and sub-entities. In one model when I checked a box and saved a form I still had 0 in DB, then I started debugging. Due to a complexity of the system and my lack of knowledge that time about how "not smart" people can be, it took me almost a week of debugging 50k lines of log files per request to finally fix that damn checkbox.
At the end it turned out that it was because of some "smart" developer in the past replaced that property accessor on the lowest level in the model and there was a business logic implemented and other properties used in combination.
So basically it was something like Model.isActive = 1; but you still got 0.
Years later now I know what humans are and what they can do, so today I debug taking my own "human stupidity" factor into account.
But seriously, never do such things. You have controllers or at least some helpers for that.