首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MatrixRETS用Rails获取数据

MatrixRETS用Rails获取数据
EN

Stack Overflow用户
提问于 2018-01-19 06:04:36
回答 1查看 184关注 0票数 0

我正在使用基于佛罗里达的Rails开发一个项目,没有关于matrixrets.swflamls API的更多细节,但是我需要从数据库中获取数据--保存到我自己的数据库中--这是数据更新和创建的常规基础。

我有以下获取数据的配置

代码语言:javascript
复制
client = Rets::Client.new({
    login_url: 'http://matrixrets.swflamls.com/rets/Login.ashx',
    username: 'XXXXXXXXXXXXXX',
    password: 'XXXXXXXXXXXXXX'
})

获取数据的查询,此查询是从此教程复制的,本教程与我的API相关,但不精确。

代码语言:javascript
复制
properties = client.find (:all), {
    search_type: 'Property',
    class: 'RES',
    querytype: 'DMQL2',
    Format: 'COMPACT',
    query: "(YearBuilt=1900+), (Status=A)",
}

<% properties.each do |data| %>
   <%= data['Bedrooms'] %>
<% end %>

我有一些属性的密钥,比如活动,待定等等.下表

代码语言:javascript
复制
'A', 'AC', 'AP', 'AS', 'I', 'P', 'PC', 'R', 'T', 'W'

我有两个问题:

  1. 如何从数据库中获取数据
  2. 如果我有数据,那么如何获取所有数据,就像状态相等于所有键。

当前没有任何错误,也没有获取任何数据。

学徒生

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-19 06:40:42

好的,我认为您在您的配置部分中遗漏了一些东西,如果您获得了查找API详细信息的RETSMD --您找到了version --我想您错过了这个版本,请参阅下面的内容。

代码语言:javascript
复制
client = Rets::Client.new({
      login_url: 'http://matrixrets.swflamls.com/rets/Login.ashx',
      username: 'XXXXXXXXXX',
      password: 'XXXXXXXXXX',
      version: 'RETS/1.7.2' #=> Or which compatible yours like 1.5 or something
})

然后使用no_records_not_an_error方法更新查询,因为如果未找到数据,则不显示任何错误,否则将显示零错误,请参见下面的

代码语言:javascript
复制
properties = client.find (:all), {
    no_records_not_an_error: true,
    search_type: 'Property',
    class: 'RES',
    querytype: 'DMQL2',
    Format: 'COMPACT',
    query: "(YearBuilt=1900+), (Status=A})",
}

你的问题1

希望那是工作

现在问题2

可以声明数组,并将所有键保存在数组中,如下所示

代码语言:javascript
复制
    arr = ['A', 'AC', 'AP', 'AS', 'I', 'P', 'PC', 'R', 'T', 'W']

然后更新查询。

代码语言:javascript
复制
for i in 0...arr.count
    properties = client.find (:all), {
        no_records_not_an_error: true,
          search_type: 'Property',
          class: 'RES',
          querytype: 'DMQL2',
          Format: 'COMPACT',
          query: "(YearBuilt=1900+), (Status=#{arr[i]})",
    }

    puts properties.count #=> count for every status
end

请参阅控制台已计数任何数字,如果是,然后工作,然后继续前进。

希望它能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48335044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档