2016-08-02 6 views
0

与えられた関係を満たすためにNSPredicateを構築しようとしています。私のデータモデルは次のとおりです。University -> College -> Classrooms - ClassroomType1から多対多の関係のNSPredicate SUBQUERY

  • 大学オブジェクトには1から多くの大学があります。
  • 大学のオブジェクトには、1〜複数の教室があります。
  • 各教室には、私が興味 指定されたプロパティを持つ特定の教室のタイプがあります。プロパティはtypeDescriptionと呼ばれていること

私は私に等しいtypeDescriptionを持っているすべての大学を与えることができ、クエリを構築したいです値 "computerlab"。私が利用できるオブジェクトは、大学のリストです。私はかなりNSPredicateSUBQUERYを構築する必要があると確信していますが、私は私の要件を満たすためにこれをどのように構築するのかは十分にはわかりません。誰かが正しい方法でこのクエリを構築するための入力を持っている場合、それは非常に感謝しています。 1対多対多の関係については

+0

あなたもテーブル与えられたサンプルから必要な結果のいずれかのサンプルを..あなたが行うのはなぜ詳細 –

+1

が必要大学の一覧しかありませんか? – Wain

答えて

1

、あなたは巣に2つのSUBQUERY句が必要です。

NSPredicate(format:"SUBQUERY(colleges, $c, SUBQUERY($c.classrooms, $room, $room.classroomType.typeDescription == %@)[email protected] > 0)[email protected] > 0","computer lab") 
+0

多対多リレーションシップの1つは、 'ANY'を使用できます。' 'SUBQUERY(colleges、$ c、ANY $ c.classrooms.classroomType.typeDescription ==%@)。@ count> 0 "、" computer lab "。 – Willeke

+0

ありがとう、この答えは私のために働いた。 – zic10