I have lots of models with keepSnapshots(true) and beforeSave hooks, and in every model I have to double check every time with:
($this->hasSnapshotData() && $this->hasChanged('column')) || (! $this->hasSnapshotData() && ! empty($this->column))
Wouldn't be fair to assume that hasChanged is true on create if value is not empty? Right now, hasChanged without hasSnapshotData check is throwing an error.
In code model.zep, i've noticed that this check is already covered
but is not reached because of snapshot init with NULL
instead of , and