Объединение запросов к полю данных (запросы or и chor)
Запрос or (аналог pick-запроса)
Обычно добавление каждого нового pick-запроса сводится к sql-оператору AND, то есть, выборка записей будет сужаться.
Чтобы, наоборот, расширить выборку (оператор OR), нужно делать or-запросы:
?page=2&block=99&or[1][lt][]=500&or[1][gt][]=1000&or[2][eq][]=KIA&or[2][eq][]=FORD
Построение or-запроса схоже с pick-запросом, то есть, первым ключом служит номер поля, второй ключ - это оператор сравнения.
Но есть и отличия:
- Добавляется третий ключ, без которого запросы перебивали бы друг друга. Третий ключ можно оставлять пустым или вставлять число или строку, если требуется обработка URL.
- В один запрос OR объединяются только запросы, относящиеся к одному и тому же полю.
Запрос chor (аналог char-запроса)
Аналогично организовано объединение char-запросов, только вместо параметра char используется параметр chor.
?page=2&block=99&charblock=23&charfield=9&chor[1][eq][]=500&chor[1][eq]=1000
Построение chor-запроса схоже с char-запросом, то есть, первым ключом служит номер поля, второй ключ - это оператор сравнения.
Особенности:
- Дополнительно с параметром chor, как и в char-запросе, необходимо использовать те же url-параметры charblock и charfield.
- К параметру chor добавляюется третий ключ, без которого запросы перебивали бы друг друга. Третий ключ можно оставлять пустым или вставлять число или строку, если требуется обработка URL.
- В один запрос OR объединяются только запросы, относящиеся к одному и тому же полю.
См. также