在 SOQL 中转义 &(符号)

Escaping & (ampersand) in 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,但一直出现相同的错误,我该怎么做才能搜索包含 & 的字符串?

谢谢。

您需要一个斜杠,例如: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 等创建您自己的效用函数