代码之家  ›  专栏  ›  技术社区  ›  dontWatchMyProfile

为什么子查询谓词中的LIKE[c]与这个名称不匹配?

  •  0
  • dontWatchMyProfile  · 技术社区  · 14 年前

    我有两个实体:部门和部门信息。每个部门都有一个或多个DepartmentInfo对象。在DepartmentInfo中,有一个departmentName属性。

    我要获取所有具有特定departmentName的Department对象。因此,我对Department实体发出一个NSFetchRequest,并使用这个fetch请求:

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(departmentName, $s, $s.departmentName LIKE[c] %@).@count > 0", @"Marketing"];
    

    它起作用了,但是:像这样的东西不行!我必须与确切的部门名称相匹配。如果我这样做,我将不会得到匹配:

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(departmentName, $s, $s.departmentName LIKE[c] %@).@count > 0", @"Mar"];
    

    这里可能有什么问题?

    2 回复  |  直到 14 年前
        1
  •  0
  •   dontWatchMyProfile    13 年前

    因为Jason Coco没有将此作为答案发布,所以我这样做了:

    使用@“Mar*”将匹配

        2
  •  0
  •   Dave DeLong    13 年前

    SUBQUERY 这里没有必要。您可以使用以下方法获得相同的结果:

    ANY departmentInfo.departmentName LIKE[c] 'Mar*'
    

    对一组 Department