предикат основных данных iphone какао один запрос ко многим - PullRequest
0 голосов
/ 15 января 2010

У меня есть набор данных, где один из атрибутов (встроенное ПО) является отношением один-ко-многим.

Если я хочу получить какие-либо записи, где идентификатор прошивки равен 1, я могу создать предикат, используя

@"(ANY Firmware.FID==1)"

Тогда у меня есть еще один набор условий, который уточнить набор еще больше, используя

(TopLevel==YES) AND (Parent>0)

Как их объединить или настроить так, чтобы сначала он фильтровал прошивку, а затем - второе условие? В конечном итоге мне нужны все записи, в которых Firmware.FID = 1 и TopLevel == YES и Parent> 0.

Спасибо, Howie

1 Ответ

2 голосов
/ 15 января 2010

Вы должны использовать этот предикат:

[NSPredicate predicateWithFormat:@"TopLevel == %@ AND Parent > %@ AND ANY Firmware.FID == %@",[NSNumber numberWithBool:YES],[NSNumber numberWithInteger:0],[NSNumber numberWithInteger:1]];  

Я переместил условие на «ЛЮБОЕ Прошивка.FID» в последнюю очередь, поскольку оно является наиболее сложным, и его можно избежать, если одно из других условий уже не выполнено.

...