0

わかりました、タイプ「オフィス」のエンティティが多数あり、「従業員」オブジェクトを含む対多の関係である「従業員」と呼ばれる関係があるとします。「Employee」には「lastName」という属性があります。

そのため、従業員が 0 人を超える Office オブジェクトの配列を返すフェッチを実行する必要がありますが、返された Office では、従業員関係内の Employee オブジェクトがフィルター処理され、lastName が "Smith" に等しい Employee オブジェクトのみが含まれています。 .

すべての Office オブジェクトを簡単に取得し、それらを繰り返し処理して、名前が Smith と一致しないすべての従業員を削除することは簡単にできますが、それでは店舗内のそれらのオブジェクトが削除されてしまいます。

ここではSUBQUERYが必要だと思いますが、正しくフィルタリングできないようです。何か案は?

4

1 に答える 1

2

SUBQUERY述語にa が必要です。

[NSPredicate predicateWithFormat:@"SUBQUERY(employees, lastName, lastName LIKE[cd] %@).@count > 0", @"Smith"]

これにより、各関係に対してサブクエリが実行employeesされ、提供された文字列について lastName がテストされ、そのような従業員が少なくとも 1 人いることがカウントされます。

于 2013-02-08T20:41:11.837 に答える