fetchWithParams Function
查詢尚未在 Mustache 變數中傳回的資料,並將結果傳回至指定的回呼方法。
必要版本
| 提供版本:Lightning Experience |
| 提供版本:具有 Life Sciences Cloud、Life Sciences Cloud for Customer Engagement 附加元件授權和 Life Sciences Customer Engagement 受管理封裝的 Enterprise 和 Unlimited Edition。 |
您可以查詢 User、Account、Record Type、Territory2、UserTerritory2Association、Life Sciences 物件和自訂物件。查詢記錄:
- 使用者必須擁有查詢物件和欄位的「讀取」權限。
- 每個物件必須存在已啟用物件中繼資料快取組態,且必須同步至 Life Sciences Cloud 行動應用程式。
語法
PresentationPlayer.fetchWithParams(query, params, callbackMethod)引數
| 引數 | 描述 |
|---|---|
query |
作為字串的 SOQL 查詢,或後續取用的查詢定位符號值。您可以在查詢中包含 Mustache 變數。 在
WHERE 子句支援:
|
params |
選擇性。指定批次大小的功能。 在 每通通電話最多可傳回 100 筆記錄。 |
callbackMethod |
接收查詢結果的 JavaScript 方法名稱。 |
傳回
此函數傳回 JSON 結果。
| 欄位名稱 | 類型 | 描述 |
|---|---|---|
records |
陣列<Object> | 結果資料。 |
done |
布林值 | 表示是否已查詢所有資料 (true) 或否 (false)。 |
totalSize |
整數 | 查詢中已處理的記錄總數。 |
queryLocator |
字串 | 可在未來要求中使用的唯一 SQL 識別碼。 |
state |
字串 | 要求狀態,例如成功或錯誤。 |
用途
無論批次大小為何,查詢最多可傳回 100 筆記錄。此範例將批次大小設定為 75 個記錄。
PresentationPlayer.fetchWithParams('SELECT FirstName, LastName, Name, Email, Phone, Username FROM User WHERE Id = ' + userId', {'batchSize': 75}, getCurrentUserRecordCallback');如果您未指定批次大小,則 fetchWithParams 函數預設會查詢 15 個記錄。若要在使用較小的批次大小時查詢其他記錄,請使用 queryLocator 變數。
此範例使用 queryLocator 變數。
function getAccounts() {
PresentationPlayer.fetchWithParams('SELECT Id FROM Account', {'batchSize': 15}, 'getAccountsCallback');
// Return 15 records
}
function getAccountsCallback(data) {
// Process records
PresentationPlayer.fetchWithParams(data.queryLocator, 'getAccountsCallback');
}範例
<script type="text/javascript">
var configData;
document.addEventListener('PresentationDOMContentLoaded', function(event) => {
configData = event.data;
function getCurrentUserRecord() {
let userId = ' \' ' + configData.parameters.id + ' \' ';
PresentationPlayer.fetchWithParams('SELECT FirstName, LastName, Name, Email, Phone, Username FROM User WHERE Id = ' + userId, {'batchSize': 75},
'getCurrentUserRecordCallback');
}
function getCurrentUserRecordCallback(data) {
if (data.state === 'success') {
const html = data.records.map((el)=>{
console.log('User Name: ', el.Name);
console.log('User Email: ', el.Email);
});
} else {
PresentationPlayer.alert(data.message + '\n' + data.code);
}
}
</script>錯誤
以下情況會傳回錯誤:
- 查詢無法存取或尋找記錄。
- 發生 SQL 錯誤。
此文章是否解決您的問題?
請讓我們知道,以便我們改進!

