我有4个实体。ArticleGroup,Article,WarehouseStok,仓库。
我需要获取具有商品(NSSet)属于articleWareStocks(NSSet)属于商品仓库(单个)的articleGroups。
request.predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(articles, $a, SUBQUERY($a.warehouseStocks, $y, $y.warehouse == %@))", warehouse];
我收到此错误:
*由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'无法解析格式字符串“ SUBQUERY(articles,$ a,SUBQUERY($ a.warehouseStocks,$ y,$ y.warehouse ==%@))”''
我该如何构造这样的谓词?有可能吗?
SUBQUERY返回一组匹配的对象。一个谓语必须返回真或假,如“SUBQUERY(...)。@计数> 0”。
在您的情况下,将是:
[NSPredicate predicateWithFormat:@"SUBQUERY(articles, $a, SUBQUERY($a.warehouseStocks, $y, $y.warehouse == %@).@count > 0).@count > 0", warehouse];
但我认为您可以将谓词简化为(未经测试):
[NSPredicate predicateWithFormat:@"SUBQUERY(articles, $a, ANY $a.warehouseStocks.warehouse == %@).@count > 0", warehouse];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句