Подключение к нескольким ресурсам в PHRETS
Я должен получить данные из нескольких ресурсов с помощью сервера Rets. Есть ли способ сделать это?
Например, у меня есть ресурсы и классы, такие как:
- Свойство (Ресурс), Листинг (Класс)
- Медиа (Ресурс), Медиа (Класс)
Некоторые данные должны быть получены из первого и немного со второго.
Я использую Phrets для получения данных с сервера Rets.
Я использую исходный код:
<?php
date_default_timezone_set('America/New_York');
require_once("vendor/autoload.php");
$log = new \Monolog\Logger('PHRETS');
$log->pushHandler(new \Monolog\Handler\StreamHandler('php://stdout', \Monolog\Logger::DEBUG));
$config = new \PHRETS\Configuration;
$config->setLoginUrl('Url to connect with')
->setUsername('Username to login')
->setPassword('Password to login');
->setRetsVersion('1.5')
$rets = new \PHRETS\Session($config);
$rets->setLogger($log);
$connect = $rets->Login();
$resource = 'Property';
$class = 'Listing';
$query = "(Acres=0+)";
$options = array(
'Count' => 1,
'Format' => 'COMPACT-DECODED',
'Limit' => 50,
'StandardNames' => 0,
'Select'=>'Acres,City,ClosePrice,BathsFull,BathsHalf,PhotoCount,VirtualTourLink'
);
$results = $rets->Search($resource,$class,$query,$options);
foreach($results as $record){
echo "<table>";
echo "<tr>";
echo "<td>".$record['Acres']."</td> ";
echo "<td>".$record['City']."</td>";
echo "<td>".$record['ClosePrice']."</td>";
echo "<td>".$record['BathsFull']."</td>";
echo "<td>".$record['BathsHalf']."</td>";
echo "<td>".$record['VirtualTourLink']."</td>";
echo "</tr>";
echo "</table>";
}
?>
Заранее спасибо!
2 ответа
Вы можете получить с помощью цикла имени класса.
$resource = 'Property';
$classes = array('Listing','Media');
$query = "(Acres=0+)";
$options = array(
'Count' => 1,
'Format' => 'COMPACT-DECODED',
'Limit' => 50,
'StandardNames' => 0,
'Select'=>'Acres,City,ClosePrice,BathsFull,BathsHalf,PhotoCount,VirtualTourLink'
);
foreach($classes as $class){
$results[$class] = $rets->Search($resource,$class,$query,$options);
}
Извлеките свои записи из первого класса, а затем извлеките свои записи из второго класса, используя зависимый идентификатор второго класса. Классы мультимедиа всегда зависят от классов свойств, поэтому у них будет некоторый идентификатор, который соответствует основному идентификатору класса свойства (обычно это mls # в листинге). Не видя метаданных вашего RETS-сервера, я не смогу сообщить вам имена полей, из которых нужно извлечь. Кроме того, ваша версия более чем вероятно 1.7.2, AFAIK никто на самом деле не использует 1.5 больше.