如何使用apex控制器中的查找字段将数据插入到自定义对象中

Har*_*Das 4 salesforce visualforce apex

我有一个自定义对象MyCustomObj__c,其中有一个名为"ContactData"的字段.

我试图使用以下apex方法将记录插入自定义对象.它给出了一个错误:

Invalid ID
Run Code Online (Sandbox Code Playgroud)

该值Hari已存在于"联系人"列表中.

顶点代码:

public static String saveData(){
    MyCustomObj__c newObj = new MyCustomObj__c(); 
    newObj.contactData__c = 'Hari';
    insert newObj;
    return "success";
}
Run Code Online (Sandbox Code Playgroud)

如何插入一行?

Pav*_*kou 5

你应该通过联系人记录'Hari'的ID

 public static String saveData(){
       MyCustomObj__c newObj = new MyCustomObj__c(); 
       newObj.contactData__c = [SELECT Id 
                                FROM Contact 
                                WHERE Name ='Hari' LIMIT 1].Id;
       insert newObj;
       return "success";
 }
Run Code Online (Sandbox Code Playgroud)

当然,你应该试着在这里避免使用SOQL,这只是一个例子.