如何在通过PHP进行cURL SOQL查询时使用LIKE?

问题描述 投票:0回答:1

使用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更改为数值并使用没有%的第一个查询然后它工作,我得到结果。所以%就是问题所在。不知道如何编码,

php curl soql
1个回答
-1
投票

正确的查询是:

$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']."%'")."";

需要使用PHP函数urlencode(),但仅适用于具有%字符的URL部分。

urlencode("'%".$row['review_by']."%'")

希望它会帮助某人。谢谢你的期待。

© www.soinside.com 2019 - 2024. All rights reserved.