Хорошо, я попытаюсь объяснить это так просто, как только смогу.
Скажем, у меня есть 3 записи определенной таблицы. Мы назовем эту таблицу Objs, и у Objs есть атрибут типа string, называемый colors (обратите внимание, что это множественное число). Вот 3 гипотетических записи в базе данных и соответствующие им значения цветов:
obj1 colors: "red, green, blue"
obj2 colors: "blue, orange, yellow, green"
obj3 colors: "teal, purple"
Хорошо, теперь скажем, я хочу иметь возможность найти подмножество записей, которые имеют что-то общее (хорошая ситуация дляиспользовать метод WHERE, верно?) Однако я должен иметь возможность поддерживать поиск этих записей, используя либо одиночные, либо даже множественные значения. Например:
Скажите, что мой запрос: "red, green".
Тогда результирующая коллекция записей должна быть obj1
и obj2
, так как их значения цвета включают ключевые слова «красный»"и" зеленый ".
Скажите, что мой запрос: "blue, purple".
Полученная коллекция должна содержать obj1
, obj2
и obj3
.
Кроме того, формат запроса и атрибуты Obj будут значениями, разделенными символом «,», поскольку атрибуты и сам запрос генерируются массивом. Т.е. атрибуты объекта и сами запросы всегда будут иметь такой формат:
"value1, value2, value3, value4"
. Никогда не будет так:
"value1 value2 value3 value4"
или любой другой возможный формат.
Спасибо за помощь.