使用LIKE搜索字符串创建SOQL查询时,我没有得到任何答案或错误。 这是我在代码中查找字符串“ John G”的代码。
$instance_url."/services/data/v45.0/query/?q=SELECT+Id,+First_Name__c,+Last_Name__c,+Lead__c,+HA_Review_Identifier__c+FROM+Reviews__c+WHERE+HA_Review_Identifier__c+LIKE+'%".$row['review_by']."%'";
API连接正常工作,因为当我使用下面的代码时,它运行良好。
$instance_url."/services/data/v45.0/query/?q=SELECT+Id,+First_Name__c,+Last_Name__c,+Lead__c,+HA_Review_Identifier__c+FROM+Reviews__c+WHERE+HA_Review_Identifier__c+=+'".$row['review_by']."'";
仅当$row['review_by']
在Salesforce及以上查询中为数字时,该功能才有效。
我读到我应该像下面这样使用参数化搜索:
$instance_url."/services/data/v45.0/parameterizedSearch/?q='".$row['review_by']."'&sobject=Reviews__c&Reviews__c.fields=Id,First_Name__c";
但这不起作用。
谢谢
更新:
当我将SF HA_Review_Identifier__c
更改为数值并使用不带%
的第一个查询时,它将起作用并且得到结果。
因此,%
是问题所在。不确定如何编码,
答案 0 :(得分:-1)
正确的查询是:
put (field(*)) (=/);
需要使用PHP函数$instance_url."/services/data/v45.0/query/?q=SELECT+Id,+First_Name__c,+Last_Name__c,+Lead__c,+HA_Review_Identifier__c+FROM+Reviews__c+WHERE+HA_Review_Identifier__c+LIKE+".urlencode("'%".$row['review_by']."%'")."";
,但仅用于URL中具有urlencode()
字符的部分。
%
希望它将对某人有所帮助。 感谢您的关注。