PHRets v2 Seach() 的 DMQL2 查询语法包含过滤器参数?

DMQL2 Query Syntax for PHRets v2 Seach() to include filter arguments?

(好久没来了)

多年来我一直在使用 PHRets v1 的第一个版本,并且对它的理解足够好,但现在我正在尝试了解 v2.6.2 的优势。我已经全部安装好,基础工作正常。我的问题几乎与理解进入 rets=>Search() 语句的查询语法的要点有关。 (我更熟悉 SQL 语句)。具体来说,我想查询 return 属性列表,不包括那些已经具有 "Sold".

状态的属性

这是我卡住的地方:如果我从这个开始

    `$results = $rets->Search('Property', 'A','*',['Select' => 'LIST_8,LIST_105,LIST_15,LIST_19,listing_office_shortid']);` 

效果很好。但我想适合这样的过滤器: "LIST_15 != Sold" 或 "NOT LIST_15=Sold"...类似的东西。我不知道如何 fit/type 将其放入 PHRets Search()。

我喜欢 PHRets,但很难找到 well-organized/complete 有关此类特定内容的文档。提前致谢。

正如我在上面的评论中所说,我发现过滤器位于第三个参数位置('*',与原始问题一样)。棘手的事情是必须为每个 class 属性找到特定的 "sold" 代码并将其放置在该位置,如下所示:'(LIST_15=~B4ZIT1Y75TZ)',(注意 = ~ 在此上下文中表示 "does not equal" 的字符组合)。我已经找到了每种 属性 类型的代码字符串(不清楚为什么它们对于每种 属性 类型都需要是唯一的:毕竟 "Sold" is Sold for any type ) 但单户住宅 属性 的正确代码(类型 'A' ...至少对于我必须搜索的 MLS 是:

$results = $rets->Search('Property', 'A','(LIST_15=~B4ZIT1Y75TZ)',['Select' => 'LIST_8,LIST_105,LIST_15,LIST_19,listing_office_shortid']);

(同样,与 LIST_15 一起使用的代码对于不同类型的属性将有所不同。)我认为有一个更好的答案,涉及更自然的语言,但这行得通,我想我会的暂时得满足了。我希望这对其他正在努力解决这些问题的人有所帮助。