将记录插入 Salesforce Apex 中的子自定义对象
Inserting records to a child custom object in Salesforce Apex
我正在尝试将记录插入到子对象中,但出现 StringException:Invalid ID 错误。
在这里,我用要插入的记录填充 cityStats 列表,然后最终 Database.SaveResult[] 保存到 city_stat 对象。在下面的字段部分,我将 theCity 变量值放入两个字段中,一个是主从关系字段,另一个是 city_stat 对象中的名称列。这是插入子对象的正确方法吗?
List<sumchans__City_Stat__c> cityStats = new List<sumchans__City_Stat__c>();
sumchans__City_Stat__c stat = new sumchans__City_Stat__c();
stat.Name = theCity;// City name column in the City Stat table
stat.sumchans__Name__c = theCity;**// Master-Detail relationship field - referenced to City_Master, CITY_NAME Column**
stat.sumchans__ON_BILLINGS__c = onBillings;
stat.sumchans__OFF_BILLINGS__c = offBillings;
stat.sumchans__TOTAL_INTERNET_OFFERINGS__c = internetOfferings;
stat.sumchans__TOTAL_VIDEO_OFFERINGS__c = videoOfferings;
stat.sumchans__TOTAL_PHONE_OFFERINGS__c = phoneOfferings;
cityStats.add(stat);
}
Database.SaveResult[] saveCityStats = Database.Insert(cityStats, false);
放置在 Salesforce 关系字段中的唯一有效值是 Id
:15 或 18 个字符的 Salesforce 记录 ID。在关系字段中放置任何其他值是无效的,包括父记录的名称字段或外部 ID 引用。如果您在关系字段中放置有效 Salesforce Id 以外的任何值,您将始终收到 StringException
。
填充对象的 Name
字段对任何关系都没有影响。
您可以使用父对象上外部 ID 字段的值填充关系字段,只需填充关系字段的 sObject 版本,后缀为 __r
。 Apex Developer Guide.
中描述了这样做的语法
我正在尝试将记录插入到子对象中,但出现 StringException:Invalid ID 错误。 在这里,我用要插入的记录填充 cityStats 列表,然后最终 Database.SaveResult[] 保存到 city_stat 对象。在下面的字段部分,我将 theCity 变量值放入两个字段中,一个是主从关系字段,另一个是 city_stat 对象中的名称列。这是插入子对象的正确方法吗?
List<sumchans__City_Stat__c> cityStats = new List<sumchans__City_Stat__c>();
sumchans__City_Stat__c stat = new sumchans__City_Stat__c();
stat.Name = theCity;// City name column in the City Stat table
stat.sumchans__Name__c = theCity;**// Master-Detail relationship field - referenced to City_Master, CITY_NAME Column**
stat.sumchans__ON_BILLINGS__c = onBillings;
stat.sumchans__OFF_BILLINGS__c = offBillings;
stat.sumchans__TOTAL_INTERNET_OFFERINGS__c = internetOfferings;
stat.sumchans__TOTAL_VIDEO_OFFERINGS__c = videoOfferings;
stat.sumchans__TOTAL_PHONE_OFFERINGS__c = phoneOfferings;
cityStats.add(stat);
}
Database.SaveResult[] saveCityStats = Database.Insert(cityStats, false);
放置在 Salesforce 关系字段中的唯一有效值是 Id
:15 或 18 个字符的 Salesforce 记录 ID。在关系字段中放置任何其他值是无效的,包括父记录的名称字段或外部 ID 引用。如果您在关系字段中放置有效 Salesforce Id 以外的任何值,您将始终收到 StringException
。
填充对象的 Name
字段对任何关系都没有影响。
您可以使用父对象上外部 ID 字段的值填充关系字段,只需填充关系字段的 sObject 版本,后缀为 __r
。 Apex Developer Guide.