Поначалу это кажется слишком простым, чтобы быть проблемой, но все равно есть.
Допустим, у вас есть форма поиска, и вы ищете компании, которые занимаются определенными отраслями промышленности. Форма будет представлять набор наборов флажков для каждого вопроса, и пользователь может выбрать любую сумму, которую он хочет.
Какие ваши любимые цвета?
[] Красный
[] Синий
[] Желтый
Какие ваши любимые фрукты?
[] Apple
[] Оранжевый
[] Банан
Задача № 1
Если пользователь проверяет красный и синий - извлекаем ли мы из базы данных строки, которые соответствуют только обоим? Или мы включаем строки, которые также соответствуют только красный или только синий? По моему мнению, конечный пользователь может ожидать увидеть один или другой результат, или оба!
Проблема № 2
Имея в виду, что CMS, которую я должен использовать, хранит данные в массивах для каждого вопроса. Таким образом, компания A для первого вопроса может иметь значения «Red | Blue» или «Red» или «Red | Blue | Yellow» и т. Д. - плюс то, что у формы, которая у меня есть, есть 10 категорий в каждой по крайней мере с 5 флажками - как я могу перевести это в эффективный и оптимизированный запрос, не прибегая к if / else mish mash?
Любая помощь высоко ценится.