簡體   English   中英

具有一對多關系的復雜謂詞無法正常工作

[英]Complex predicate with to-many relationship not working correctly

我有一個應用程序,我可以在其中搜索房間進行預訂。

在我的第一個視圖中,我可以 select 一個城市和街道。 在第二個視圖中,我可以 select 一些屬性(比如 wlan、tv……)

在第三個視圖中是可供選擇的房間。

當我沒有 select 屬性時,它應該會顯示所選街道/城市的所有可用房間。

到目前為止,這是我的謂詞:

   NSPredicate *predicate =
[NSPredicate predicateWithFormat:
 @"((raumattribute.schalter CONTAINS YES) AND\
 (strasse.checks CONTAINS YES OR strasse.standort.ortcheck CONTAINS YES)) \
 OR\
 ((raumattribute.schalter CONTAINS NO) AND\
 (strasse.checks CONTAINS YES OR strasse.standort.ortcheck CONTAINS YES))"];

問題是,我不能再用屬性過濾房間了。 當我select城市和go到房間時,我可以看到城市中的所有房間。 但是一旦我輸入 select 一個屬性,它就不會過濾房間,而是顯示所選城市中的所有房間。

當我這樣寫我的謂詞時:

 NSPredicate *predicate =

[NSPredicate predicateWithFormat:
 @"((raumattribute.schalter CONTAINS YES) AND\
 (strasse.checks CONTAINS YES OR strasse.standort.ortcheck CONTAINS YES)) 

我可以用街道和屬性過濾房間。 .但是當沒有選擇屬性時,我在選擇的街道上看不到任何房間。

這是我更新的架構的屏幕截圖:屏幕截圖

您將 object 圖形的核心數據框架誤認為是 SQL 數據庫替代品。 這可能會引起令人作嘔的辯論,所以讓我們不要進行哲學討論。

根據您的問題描述執行此操作的正確方法是按街道過濾房間,然后遍歷結果以排除那些沒有選中屬性的房間。 結果數組可能是結果表的datasource

但是,從您的代碼示例以及我觀察到的德國實體和屬性名稱來看,您似乎應該考慮修改您的數據結構。 如果您編輯您的問題並發布您的數據 model 方案,我可以給您進一步的評論。

暫無
暫無

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

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