Ungültige Fremdschlüsselbeziehung, wenn ich versuche, ein neues benutzerdefiniertes Objekt zu einem exsting Blei hinzufügen

StackOverflow https://stackoverflow.com/questions/3791998

Frage

Ich habe einen Blei und ein benutzerdefiniertes Objekt namens Social Account (API Name = Social_Account__c).

Ich habe eine Beziehung wie folgt festgelegt: Blei ist ein Elternteil von Social-Konten. so eine Führung viele soziale Konten hat.

Im Sozial Konto habe ich ein benutzerdefiniertes Feld namens Blei (Datentyp: Lookup), um die Beziehung zu machen

.

und hier ist ein Nachschlag Detail:

API Name: Lead__c

Related to Lead

Kind-Beziehung Name: Social_Accounts

Verwandte Liste Label: Social Accounts

Ich möchte neue soziale Konten hinzufügen führen zu bestehenden, wenn es eine Führung mit derselben E-Mail-Adresse ist.


Social_Account__c social_account = new Social_Account__c();
/*add whatever fields on social_account*/

List<Lead> leads =[select Id from Lead where Email =:emailAddress ];
if(leads.size()>0)
{ 
    Lead existing_lead = new Lead(Id = leads[0].id);
    //ideally i would like to do something like this
    social_account.Lead__c.id = existing_lead.id; //this is where I get an error from

    insert social_account;
    update existing_lead;
}

, aber ich erhalte eine Fehlermeldung:

Fehler: Compile Fehler: Ungültige Fremdschlüsselbeziehung: Social_Account_ c.Lead _c

Was mache ich falsch? Ich würde irgendwelche Vorschläge zu schätzen wissen.

Dank

War es hilfreich?

Lösung

Sie können nicht "gehen durch Beziehung" mit Punkt (.) Operator mit Updates, nur mit Daten zu lesen.

Ändern Sie Ihre social_account.Lead__c.id = existing_lead.Id; in social_account.Lead__c = existing_lead.Id;

Wenn alles sein, was gebraucht wird. Salesforce-Beziehungen können sein

durch direktes Modifizieren des Feldes Sie erstellt haben. Social_Account__c.Lead__c, Putting dort Id des Objekts, das Sie Punkt wollen

GET (erforscht) durch die Feldnamen ein wenig modifizieren und mit dem Punkt, in Ihrem Fall ist es wahrscheinlich Social_Account__c.Lead__r.(whatever fields on Lead you want).

Die „_c“ und „_R“ sind für benutzerdefinierte Objekte, für Standard diejenigen zum Beispiel dort Opportunity.AccountId Feld für Einstellung, aber wenn Sie möchten, dass Sie erkunden bis Konto Opportunity.Account.Name geben.


Wenn Sie Probleme es Erinnerung haben werden - keine Sorge, ich auch;) Normalerweise, wenn ich solche Kompilierungsfehler erhalte ich versuche es mit Query Builder (in Apex Explorer oder der Eclipse-Plugin). Ich klicken Sie sich durch Hierarchie auf das Objekt, es Kinder, es Eltern usw. und können in der Regel Stücke erzeugte Abfrage direkt in meinem Apex-Code.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top