如何正确查询vTiger CRM API

How to make right query to vTiger CRM API

我收到一个 sql 查询:

$vtiger->query('*', 'Products', "(productname LIKE '%$name%' OR description LIKE '%$name%') AND cf_1007 = 'Ready'", null, 50, null); 

(使用 https://github.com/sumocoders/vtiger-api)。它有一个 WHERE 子句。如何做对? (当前查询抛出异常)。我需要获取产品名称或描述包含 %name% 以及单元格 cf_1007 = "Ready".

的所有行

UPD:来自vTiger的回答API(忘了在这里添加)

{"success":false,"error":{"code":"QUERY_SYNTAX_ERROR","message":"Syntax Error on line 1: token '(' Unexpected PARENOPEN((), expected one of: COLUMNNAME"}}

我对这个问题进行了更深入的研究,发现了以下内容: 您正在使用的 API 向 VTIGER 网络服务发送请求。 API 没有问题,您的用法似乎没问题。所以,下一站将是检查网络服务文档。

然后我遇到了 this page 并发现了以下内容:

SELECT * | <column_list> | <count(*)> FROM <object> [WHERE
<conditionals>] [ORDER BY <column_list>] [LIMIT [<m>, ] <n>]

注意部分说明:

<condition_operations> or <in_clauses> or <like_clauses> separated by ‘and’ or ‘or’ operators these are processed from left to right. The are no grouping that is bracket operators.

所以好像不能使用(field1=val1 OR field2=val2) AND field3=val3格式。你应该使用 field1=val1 OR field2=val AND field3=val3.

由于第一个 (,存在语法错误。

尝试删除它,更改

(A OR B) AND C

对于

A AND C OR B AND C