РЕДАКТИРОВАТЬ: Забыл упомянуть, что впоследствии я отфильтровываю карточки с нежелательными цветами в коде Swift.
Итак, это еще один вопрос, касающийся многих отношений в Базовых данных и какнаписать предикат для него.Короче говоря, я бы хотел сопоставить комбинацию нескольких элементов в отношении ко-многим.
Настройка
- Таблица цветов с пятью цветами: Красный, Зеленый, Белый, Черный, Синий
- Таблица карт , каждая карта имеет отношение ко многим к таблице цветов
Цель
Искать карты с черным и / или белого цвета, что означает:
- Карта может быть только черная
- Карта может быть только белый
- Карта может быть черно-белой
Пока
Наилучшие результаты (упрощенно):
NSPredicate(format: "ANY color == Black") // Only black cards, good
NSPredicate(format: "ANY color == White") // Only white cards, good
NSPredicate(format: "ANY color == Black OR ANY color == White") // Only black AND white cards, bad
Здесь очень похожий пост, касающийся MySQL, на случай, если он поможет дополнительно прояснить проблему:
SQL: сделать цвета доступными для поиска в таблице цветов