如何正确查询vTiger CRM API

时间:2017-11-13 13:15:07

标签: php api vtiger

我收到了一个SQL查询:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:titleTextAppearance="@style/TitleBarTextAppearance"
    app:popupTheme="@style/AppTheme.PopupOverlay"/>

(使用https://github.com/sumocoders/vtiger-api)。它有一个WHERE子句。怎么做对了? (当前查询抛出异常)。我需要获取productname或description包含%name%的所有行,其中cell cf_1007 =“Ready”。

UPD:从vTiger API回答(忘了在这里添加)

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

2 个答案:

答案 0 :(得分:1)

由于第一个(导致语法错误。

尝试删除它,更改

(A OR B) AND C

代表

A AND C OR B AND C

答案 1 :(得分:0)

我对这个问题进行了深入研究,发现了以下内容: 您正在使用的API会向VTIGER Web服务发送请求。 API中没有任何问题,您的使用似乎没问题。因此,下一站将检查Web服务文档。

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

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

请注意该部分的描述:

  

<condition_operations><in_clauses><like_clauses>分隔   '和'或'或'运算符从左到右处理。该   不是包含操作符的分组

因此您似乎无法使用(field1=val1 OR field2=val2) AND field3=val3格式。您应该使用field1=val1 OR field2=val AND field3=val3