Объединение запросов к полю данных (запросы 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 объединяются только запросы, относящиеся к одному и тому же полю.


См. также