function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Manoprabha PalpandianManoprabha Palpandian 

Can anyone helpme i have two child objects that are connected in one parent object how to save the record after the parent reccord savedd

public class Registrationcontroller {
    public Registration1__c reg1 {get;set;}
    public String editid {get;set;}
    public Registrationcontroller()
    {
        reg1 = new Registration1__c();
     }
      public List<Registration1__c> getregisterlist(){
        List<Registration1__c> listreg= new List<Registration1__c>();
        listreg=[SELECT Id, Name, FirstName__c, LastName__c, Email__c, (SELECT id,name FROM Hotels__r),
                 (SELECT id,name FROM AirTravels__r) FROM Registration1__c];
        return listreg;
     }
    public void editfunction() {
        system.debug('editfunction inside===>'+editid);
        reg1=[SELECT Id, Name, FirstName__c, LastName__c, Email__c FROM Registration1__c where id=:editid];
    }
    public void deletefunction() {
        system.debug('editfunction inside===>'+editid);
        List<Registration1__c>  reg2=[SELECT Id, Name, FirstName__c, LastName__c, Email__c FROM Registration1__c where id=:editid];
        
        delete reg2;
        ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.INFO,'Record deleted successfully'));
    }
    public void saveaction()
    {
        system.debug('saveaction inside===>'+reg1);
        try{
            upsert reg1;
            if(reg1.Id !=null){
                ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.INFO,'Record saved successfully'));
                reg1 = new Registration1__c();
           } else
            {
                ApexPages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.ERROR,'Record not saved')); 
            }
        }
        Catch(Exception e)  
        {
            System.debug(e.getMessage());
        }
    }
}





<apex:page controller="Registrationcontroller" id="theRepeat" sidebar="false" showHeader="true">
    <apex:form >
        <apex:pageBlock >
            <apex:messages />
            <apex:pageBlockSection columns="1" >
                <apex:inputField label="FirstName" value="{!reg1.FirstName__c}"/>
                <apex:inputField label="LastName" value="{!reg1.LastName__c}"/>
                <apex:inputField label="Email" value="{!reg1.Email__c}"/>
            </apex:pageBlockSection>
            <apex:pageBlockButtons >
                <apex:commandButton value="save" action="{!saveaction}" rerender="pg1,theTable" />
            </apex:pageBlockButtons> 
        </apex:pageBlock>
        <apex:pageBlock >
            <apex:dataTable value="{!registerlist}" var="regvalue" id="theTable" width="100%">
                <apex:facet name="caption">Registration List</apex:facet>
                <apex:column headerValue="Reg ID"><apex:outputText value="{!regvalue.Name}" /> </apex:column>
                <apex:column headerValue="FirstName"><apex:outputText value="{!regvalue.FirstName__c}" /> </apex:column>
                <apex:column headerValue="LastName"><apex:outputText value="{!regvalue.LastName__c}" /> </apex:column>
                <apex:column headerValue="Email"><apex:outputText value="{!regvalue.Email__c}" /> </apex:column>
                
                    <apex:repeat value="{!regvalue.Hotels__r}" var="c">
                        <apex:column value="{!c.Name}"/>
                    </apex:repeat>
                    <apex:repeat value="{!regvalue.AirTravels__r}" var="d">
                        <apex:column value="{!d.Name}"/>
                    </apex:repeat>
               
                <apex:column >
                    <apex:commandLink value="Edit" action="{!editfunction}" rerender="pg1">
                        <apex:param name="cid" value="{!regvalue.id}" assignto="{!editid}"/>
                    </apex:commandLink> || 
                    <apex:commandLink value="Delete" action="{!deletefunction}" rerender="pg1,theTable">
                        <apex:param name="cid" value="{!regvalue.id}" assignto="{!editid}"/>
                    </apex:commandLink> 
                </apex:column>    
            </apex:dataTable>
        </apex:pageBlock>
    </apex:form>         
</apex:page>


I am new for coding please help me

Custom Object - AirTravel, Fields - Arrival and Departure Datatype- Picklist. Custom Object - Hotel, Fields - Check In Date and Check Out Date Datatype- Picklist. These two custom objects lookup with Registraton1__c. How to give Hotels and Airtravel lookupvalues in reagistration1__c
Suraj Tripathi 47Suraj Tripathi 47

Hi Manoprabha,

If I am not wrong you want to first insert parent object record and then its child object record.

For this you need to first insert parent object record and after that create child object record and assign parent's id to child's lookup field.

Like as in case of Account and Contact we do

Account ac= new Account();
ac.Name='accountTest';
insert ac;
Contact con= new Contact();
con.lastName='lookupTest';
con.accountid=ac.id;
insert con;


here accountid is lookup field in contact which has lookup with account.​​​​​​​

Please mark it as Best Answer,if it helps.

Thanks

Manoprabha PalpandianManoprabha Palpandian
thank you
Suraj Tripathi 47Suraj Tripathi 47

Hi Manoprabha,

Is above solution solved your query,if yes then please mark it as Best so other can take reference from here.

Thanks

Manoprabha PalpandianManoprabha Palpandian
In my code how to change it can you helpme