【发布时间】:2016-08-10 17:38:44
【问题描述】:
我有三个不同的模型部门、子部门和员工
@interface Department : RLMObject
@property NSString *name;
@property (nonatomic, strong) RLMArray<SubDepartment> *subDepartments;
@property (nonatomic, strong) RLMArray<Employee> *employees;
@end
@interface SubDepartment : RLMObject
@property NSString *name;
@property (nonatomic, strong) RLMArray<Employee> *employees;
@end
@interface Employee : RLMObject
@property NSString *department;
@property NSString *email;
@property NSString *firstname;
@property NSString *lastname;
@property NSString *fullname;
@property NSString *imgUrl;
@property NSString *imgWall;
@property NSString *nickname;
@end
我想搜索哪个部门的员工的名字和姓氏中包含“a”,还想搜索名字和姓氏中包含“a”的子部门员工。
我试图这样做。
RLMResults *subdepartments = [SubDepartment objectsWhere:
[NSString stringWithFormat:@"SUBQUERY(employees, $e, $e.firstname contains '%@' OR $e.lastname contains '%@' OR $e.fullname contains '%@' OR $e.nickname contains '%@').@count > 0",searchText,searchText,searchText,searchText]];
NSMutableArray *subDepartmentNames = [NSMutableArray array];
for (SubDepartment *subDepartment in sections)
{
[subDepartmentNames addObject:subDepartment.name];
}
RLMResults *departments = [Department objectsWhere:
[NSString stringWithFormat:@"SUBQUERY(employees, $e, $e.firstname contains '%@' OR $e.lastname contains '%@' OR $e.fullname contains '%@' OR $e.nickname contains '%@').@count > 0",searchText,searchText,searchText,searchText]];
RLMResults<Department *> *filteredDepartments = [departments objectsWhere:
[NSString stringWithFormat:@"SUBQUERY(subDepartments, $d, $d.name IN '%@').@count > 0",sectionNames]];
【问题讨论】:
-
请展示您自己尝试解决问题的示例。
-
我更新了我的示例。 @VadimShkaberda
标签: objective-c realm