У меня есть структура модели базовых данных, такая как:
Product <-->> OrderProduct where the relationship (from Product to OrderProduct) is called productOrders while the inverse is called product
Order <-->> OrderProduct where the relationship is called orderProducts while the inverse is called order
Client <-->> Order where the relationship is called orders while the inverse is called client
Внутри UIViewController
Я использую NSFetchRequest
, связанный со следующим предикатом:
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"(ANY productOrders.order.client.code == %@)", clientCode];
Предикат работает хорошо.Я могу получить товары для одного (или нескольких) заказов, связанных с конкретным клиентом.
Теперь мне нужно добавить еще один шаг.Найти последний заказ (заказ по дате) для конкретного клиента.Я пробовал следующий предикат, но он не работает:
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"(ANY productOrders.order.client.code == %@ AND productOrders.order.@max.orderDate)", clientCode];
, где orderDate
имеет тип NSDate
.
Нужно ли использовать SUBQUERY?Как мне этого добиться?Заранее спасибо.