У меня есть три различных модели Департамента, подотделы и сотрудникSubquery между тремя объектами
@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
Я хочу найти какой отдел работника имеет содержит «а» в своем имени и фамилии, а также хотите искать сотрудники подразделения, чье имя содержит «а» от их имени и фамилии.
Я пытался это сделать.
RLMResults *subdepartments = [SubDepartment objectsWhere:
[NSString stringWithFormat:@"SUBQUERY(employees, $e, $e.firstname contains '%@' OR $e.lastname contains '%@' OR $e.fullname contains '%@' OR $e.nickname contains '%@')[email protected] > 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 '%@')[email protected] > 0",searchText,searchText,searchText,searchText]];
RLMResults<Department *> *filteredDepartments = [departments objectsWhere:
[NSString stringWithFormat:@"SUBQUERY(subDepartments, $d, $d.name IN '%@')[email protected] > 0",sectionNames]];
Пожалуйста показать пример вашей собственной попытки решения проблемы. –
Я обновил свой пример. @VadimShkaberda – Aye