NSPredicate to many relationship

Nim*_*od7 6 one-to-many relationship nspredicate ios

如何查找包含多个项目的子类别的所有类别?我使用以下代码,但我得到"这里不允许多对多密钥".

我需要使用SUBQUERY吗?

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Categories"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY subcategories.items > 0"];
[request setPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)

救命!:)

Fro*_*ost 9

根据我的经验,您应该更改谓词格式字符串

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY subcategories.items > 0"];    
Run Code Online (Sandbox Code Playgroud)

@"ANY subcategories.items > 0"
Run Code Online (Sandbox Code Playgroud)

@"subcategories.items.@count > 0"
Run Code Online (Sandbox Code Playgroud)

请注意,ANY关键字也需要,或者您将以错误的方式查询属性.


Nik*_*rov 3

在你的 NSPredicate 中你应该使用subcategories.items.@count >0

抱歉,只有类别-子类别是一对一的情况下,这才有效。

实际上,我认为您应该做的是删除所有没有项目的子类别。

Than tou 应该只检查是否有任何子类别,这意味着它们不为空。 subcategories.@count >0