nHibernate有一个很棒的功能叫做过滤器,所以我可以为我的应用程序全局创建标准。我正在用PHP创建一个项目,我需要使用ORM,我想知道Doctrine是否具有管理查询条件的类似功能。
感谢
答案 0 :(得分:0)
Doctrine 2.2具有filter system,允许开发人员将SQL添加到查询的条件子句中,无论SQL生成的位置如何(例如,从DQL查询或通过加载关联实体)。
过滤器功能适用于SQL级别。是否在Persister中,延迟加载期间,在额外的延迟集合中或从DQL生成SQL查询。每次系统迭代所有启用的过滤器时,添加新的SQL部件作为过滤器返回。
通过将SQL添加到查询的条件子句中,过滤器系统过滤掉属于SQL结果集级别的实体的行。这意味着过滤的实体永远不会被水合(这可能很昂贵)。
答案 1 :(得分:-1)
我认为您正在寻找的是Doctrine Query Hooks。
有许多用于preUpdate,preSave,preCreate,postCreate,postUpdate,postSave,preSelect等等的钩子。
希望这有帮助。