逃避& SOQL中的{&ampersand}

时间:2018-01-31 12:01:38

标签: php salesforce soql

我有这段代码来搜索Salesforce上的数据:

代码:

$campaign_name = 'A & B Campaign';  
$search = 'FIND {'.$campaign_name.'} IN NAME FIELDS RETURNING CAMPAIGN(ID)';
$searchResult = $mySforceConnection->search($search);
var_dump('$searchResult: ' . print_r($searchResult, true));

错误:

mismatched character '&' expecting '}'

我尝试使用preg_replacehtmlentities,我一直收到相同的错误,我该怎么做才能搜索包含&的字符串?

感谢。

1 个答案:

答案 0 :(得分:2)

你需要一个斜杠,如:FIND {A \& B}(顺便说一下,这是一个有效的SOSL搜索;)

滚动到https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_sosl_examples.htm的底部以获取更多信息。

不知道是否有内置的php函数可以为你做这件事。最坏的情况是使用str_replacepreg_replace等创建自己的效用函数。