Multi-Select Query Through PHRETS RETS Система - PullRequest
1 голос
/ 02 декабря 2011

У меня есть система, запускающая RETS через систему PHRETS. У меня есть форма, которая проходит через запрос для извлечения результатов, и мы добавляем в поля множественного выбора.

Пока мой код выглядит следующим образом для запроса: (SUB_AREA_NAME = | AreaA, AreaB, AreaC, AreaD) Это работает для того, чтобы можно было получить много результатов. Проблема заключается в следующем:

По какой-то причине система выполняет операцию 'и' вместо операции 'или'. Поэтому в любое время, когда мы ищем более одного места, если какие-либо результаты окажутся пустыми, они все будут пустыми.

Например:

Допустим, у AreaA 3 дома. AreaB имеет 0 домов, AreaC имеет 10 домов, а AreaD имеет 1 дом.

Если вы посмотрите вверх: AreaA + AreaC вы получите 13 результатов.
AreaA + AreaC + AreaD вы получите 14 результатов.
AreaD само собой вы получите 1 результат.

AreaA + AreaB вы получите 0 результатов.
AreaA + AreaB + AreaC + AreaD вы получите 0 результатов.

По сути, поскольку у AreaB нет результатов, если вы запросите эту область с любой другой областью, которая имеет результаты, она все равно будет отображаться как безрезультатная.

Мне нужно знать, как запросить несколько вариантов выбора из одной категории, показывая все результаты, даже если в одной области их нет.

Спасибо.

1 Ответ

1 голос
/ 05 июня 2013

Некоторые (большинство) Реализации сервера RETS не выполнены правильно. Ваш запрос в соответствии со спецификациями RETS. Вам просто нужно выяснить, что подойдет для вашей конкретной ситуации.

Например, вы можете попробовать ((SUB_AREA_NAME=AreaA)|(SUB_AREA_NAME=AreaB)|(SUB_AREA_NAME=AreaC)|(SUB_AREA_NAME=AreaD)) и посмотреть, работает ли это.

В некоторых случаях, когда я видел эту работу, обратите внимание, что я удалил трубу, хотя это соединение ИЛИ, (SUB_AREA_NAME=AreaA,AreaB,AreaC,AreaD)

В других случаях он не будет работать с запятыми, и вам нужно использовать 4 отдельных запроса.

И даже в другой раз я вижу, что сервер не работает и не кодирует запятые должным образом, поэтому вы должны сделать что-то вроде этого (SUB_AREA_NAME=|AreaA%2CAreaB%2CAreaC%2CAreaD)

...