属性genreIDとparentGenreIDを持つ「Genre」という名前のエンティティがあります。parentGenreIDが行のgenreIDと等しいGenreエンティティの数を取得する動的属性を作成して、返された各行の数を照会する必要がないようにします。
SQLでこれを行う場合は、次のクエリを使用します。
SELECT g.title, (SELECT COUNT(*) FROM genres sg WHERE sg.parentGenreID = g.genreID) as subgenres FROM genres g
おそらくフェッチされたプロパティが答えになると思っていましたが、それらはNSArrayとして返されるようです。それでも、適切な構文が何であるかを理解しようとしています。
私の最善の推測は次のようなものです:
SUBQUERY(Genre, $genre, $genre.parentGenreID = $FETCH_SOURCE.genreID).@count
CoreDataでこれを行う正しい方法は何でしょうか?