2016-05-11 8 views
0

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

Например, У меня есть ресурсы и классы, такие как:

  1. собственности (ресурсов), Листинг (класс)
  2. Медиа (ресурс), средства массовой информации (класс)

Некоторые данные должны извлекаться из первого и немного из второго.

Я использую 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>&nbsp"; 
      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>"; 
} 

?> 

Спасибо заранее!

ответ

0

Извлеките записи из первого класса, а затем извлеките записи из второго класса, используя идентификатор второго класса. Медиаклассы всегда зависят от классов свойств, поэтому он будет иметь некоторый идентификатор, соответствующий основному id класса свойств (обычно это mls # листинга). Не видя метаданных вашего RETS-сервера, я не смогу сказать вам имена полей, из которых вам нужно извлечь. Кроме того, ваша версия более чем вероятно 1.7.2, AFAIK никто больше не использует 1.5.

0

Вы можете получить с помощью цикла имени класса.

$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); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^