Привет. Нужна помощь с предикатом. Проблема в том, что я хочу иметь одну функцию, которая будет извлекаться из базы данных, зависит от нескольких значений, которые она получает, но значения не всегда существуют, значит ли это, что мне нужно создать несколько разных предикатов?
Код ниже
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"brand_id LIKE %@ AND brand_id LIKE %@ AND brand_id LIKE %@ AND brand_id LIKE %@ AND brand_id LIKE %@ AND item_category LIKE %@ AND item_make LIKE %@ AND item_gender LIKE %@ || item_price>%@ || item_price<%@",
brand_one, brand_two, brand_three, brand_four, brand_five, categoryString, makeString, genderString,[NSNumber numberWithInt:price_bottom],[NSNumber numberWithInt:price_top]];
brand_one, brand_two и т.д. иногда существуют, а иногда нет.
И как это должно выглядеть для item_gender. Пусть, если не указано ни одного пола, как иметь их обоих.
Извините, если мое описание проблемы запутывается.
База на комментариях Gobras создала следующий код
NSArray *brands = [NSArray arrayWithObjects:brand_one, brand_two, brand_three, brand_four, brand_five, nil];
NSPredicate *predicate_brands = [NSPredicate predicateWithFormat:@"brand_id like %@" argumentArray:brands];
Логическое объяснение того, что должна искать функция поиска
- fetchrequest
- предикат по запросу выборки
основанный на 5 идентификаторах бренда, идентификатор товара, категория товара, марка товара, пол товара, если какой-либо из них пуст, он должен извлекать все связанные записи, например, если категория элемента пуста, она должна отображать все "Ювелирные изделия, часы и т.д.", но ограничивать ее остальными предикатными выражениями.
Должен ли я создать, например, составные предикаты для брендов, а затем создать еще один для категории товаров со значениями "item_category, такие как Jewellery" и "item_category like Watches", и после этого, как я точно их объединяю?