我必须使用 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>";
}
?>
提前致谢!
答案 0 :(得分:0)
从第一个类中获取记录,然后使用第二个类依赖的id从第二个类中获取记录。媒体类总是依赖于属性类,因此它将具有一些与属性类的主id相对应的id(通常是列表的mls#)。如果没有看到您的RETS服务器的元数据,我将无法告诉您需要从中提取的字段的名称。此外,你的版本很可能是1.7.2,AFAIK没有人真正使用1.5了。
答案 1 :(得分: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);
}