簡體   English   中英

教義中的過濾器

[英]Filters in Doctrine

nHibernate具有稱為過濾器的強大功能,因此我可以為我的應用程序全局創建條件。 我正在用PHP啟動一個項目,我需要使用ORM,我想知道Doctrine是否具有類似的功能來管理查詢條件。

謝謝

Doctrine 2.2具有一個過濾器系統 ,使開發人員可以將SQL添加到查詢的條件子句中,而不管生成SQL的位置如何(例如,通過DQL查詢或通過加載關聯的實體)。

篩選器功能可在SQL級別上使用。 是在延遲加載期間,在額外的延遲集合中還是從DQL中在Persister中生成SQL查詢。 每次系統遍歷所有已啟用的過濾器時,都會在過濾器返回時添加一個新的SQL部分。

通過將SQL添加到查詢的條件子句中,過濾器系統將在SQL結果集級別過濾出屬於實體的行。 這意味着過濾后的實體永遠不會水合(這可能很昂貴)。

我認為您正在尋找的是Doctrine查詢掛鈎。

有很多鈎子可用於preUpdate,preSave,preCreate,postCreate,postUpdate,postSave,preSelect等。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM