I cannot find any example or anything in the documentation about polymorphic models in phalcon. As far as I understand, Phalcon and Zephir boast of being OOP PHP tools. But in the other hand, the models (at least, maybe other components as well) constrain the user to use ifs/switchs instead of polymorphism. Maybe it is possible to achieve with postgres(it supports polymorphism in the database) , but what about mysql? Propel (and maybe Doctrine?) allows polymorphism based on some columns ("type" for example). If this feature would exist, Phalcon users would be able to write true OOP code. In PHP ifs are optional for procedural code lovers; but with Phalcon models, ifs are still a must! Or maybe the ORM can be renamed to SRM (struct-relational mapper) to avoid the confusions :)