我想从RETS服务器下载所有财产清单,包括所有照片URL。我正在使用DMQL2和PHRETS库。属性和照片对象存储在RETS服务器的不同表中。
要获取所有照片,我知道我可以下载属性列表,然后遍历每个属性并像这样检索每个属性的照片:
$results = $rets->Search($resource, $class, $query);
foreach ($results as $r) {
$photos = $rets->GetObject('Property', 'Photo', $r->get('ListingID'), '*', 1);
foreach ($photos as $p) {
// Save the photo locations somewhere…
}
}
这非常慢,因为有成千上万的属性。
是否可以通过合并属性和对象表(例如MySQL中的LEFT JOIN
,在单个查询中同时请求所有照片和属性?
或者,是否可以在一个请求中下载all照片对象,因此我可以使用它们的ListingID键将它们与属性相关联?
还有其他建议来更快地获取所有数据吗?
您可以一次下载所有照片。某些服务器还支持媒体资源和类,这些资源和类允许您获取列表或列表组的所有照片的URL。如果您的服务器支持该功能,我会使用它,因为它通常速度更快。
[使用小节,我认为一次下载所有图像看起来像这样:
$photos = $rets->GetObject("Property", "Photo", $record[ListingID], "*", 1);
我从这个答案中复制了它:PHRets: Using PHP to download real estate listing photos