我想从实体中获取结果,并使用来自其他实体的属性过滤结果。
我有2个实体:
用户{USER_ID,名字,姓氏}
UsersPhoneNumbers {phone_id,user_id,phone_number}
SQL中的应该如下所示:
select * from Users where Users.user_id in (select user_id from UsersPhoneNumbers where phone_number = '+972-54-...')
答案 0 :(得分:0)
您可能希望在User实体和UsersPhoneNumbers之间添加关系。
即。它看起来像这样:
Users{user_id,first_name,last_name,phone_number}
UsersPhoneNumbers{phone_id,user,phone_number}
然后根据这种关系使用获取请求:
NSFetchRequest* fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Users"];
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"phone_number.phone_number like[cd] %@", @"+972-54*"];
NSArray* users = [managedObjectContext executeFetchRequest:fetchRequest error:nil];