1
我有一個多對多關係的數據模型,如EntityA <-->> EntityB <<--> EntityC
。我曾經用不同的搜索條件查詢EntityA
,我使用NSCompoundPredicate
和NSPredicate
的數組。在其中一個謂詞中,我想用EntityC
查詢EntityA
。我試圖使用以下SUBQUERY
,但它沒有奏效。核心數據多對多關係NSPredicate
searchPredicate=[NSPredicate predicateWithFormat:@"(0 != SUBQUERY(EntityB, $B, (0 != SUBQUERY($B.EntityC, $EntityC, $EntityC.name like %@)[email protected]))[email protected])", name]
而且我得到以下異常,
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Can't perform collection evaluate with non-collection object.'
有什麼我失蹤。我將不勝感激任何幫助。
薩拉
謝謝你的回覆,我已經使用過你的方法,但得到了以下異常***由於未捕獲的異常'NSInvalidArgumentException',原因:'不支持的謂詞ALL B.EntityC.name LIKE「name」'和I使用謂詞編輯器來構建它。 – Sarah 2010-05-13 07:54:37
嘗試使用'ANY entityB.entityC.name LIKE [c] $ aName'並提供「aName」變量。確保您的關係名稱與實體名稱不完全相同。 – TechZen 2010-05-13 12:25:51
ANY entityB.entityC.name LIKE [c] $ aName工作得很好,謝謝 – Sarah 2010-05-13 13:06:19