RETS IDX с настройкой PHRETS не возвращает результатов

Я пытаюсь узнать, как настроить соединение с сервером MIBOR IDX с помощью PHRETS, и я столкнулся со стеной. У меня есть очень простой поисковый запрос, я просто пытаюсь получить все результаты, прежде чем начать их фильтровать, но мой поиск возвращает 0 результатов! Я подумал, что, возможно, MIBOR требует, чтобы в поиске были переданы несколько полей, но я не знаю, как узнать, какие это могут быть поля … Любая помощь очень ценится!

Вы можете скачать мои метаданные Вот

Вот мой код:

<?php
date_default_timezone_set('America/New_York');

require_once("vendor/autoload.php");

$rets_login_url = 'http://matrixrets.miborblc.com/rets/Login.ashx';
$rets_username = 'xxxxxxx';
$rets_password = 'xxxxxxx';

// CONNECT TO IDX
$config = new \PHRETS\Configuration;
$config->setLoginUrl($rets_login_url)
->setUsername($rets_username)
->setPassword($rets_password)
->setRetsVersion('1.7.2');

$rets = new \PHRETS\Session($config);

$connect = $rets->Login();

$system = $rets->GetSystemMetadata();

// SEARCH RECORDS
$results = $rets->Search('Property', 'Listing');
var_dump($results);

3

Решение

Взгляните на открытый исходный код http://retsmd.com.

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

Немного трудно сказать вам, что не так с вашим набором результатов, потому что нет соглашения об именах или требований к полям, которых должен придерживаться каждый канал (как бы глупо это ни было). И вам определенно не следует передавать эти регистрационные записи. Таким образом, вам может понадобиться использовать комбинацию RETSmd и связаться с соответствующими менеджерами каналов.

Repo: https://github.com/troydavisson/RETS-MD

3

Другие решения

Я просто хотел, чтобы все знали, что я решил проблему, и поделился своим решением на случай, если у кого-то возникнет аналогичная проблема. Как объяснил Shultzie, главная проблема заключается в том, что RETS не имеет соглашения об именах. Оказалось, что мне нужно включить запрос в переменную даты, иначе IDX вернет 0 результатов (я думаю, что какое-то соглашение об обработке ошибок также будет хорошим дополнением к RETS IDX). В любом случае, я обновил свой поиск до следующего, и все начало работать:

$results = $rets->Search(
'Property',
'Listing',
"(MatrixModifiedDT=1980-01-01T00:00:00+)",
["Limit"=>1]
);

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

2

По вопросам рекламы [email protected]