1

When I am trying to save multiple record in the following way:

    public function generateName($bean, $event, $arguments) {
        
        $record_id = $bean->id;
        $module="PNGM_AI_Projects";
        $mybean = BeanFactory::retrieveBean($module, $record_id);

        if (isset($arguments['isUpdate']) && $arguments['isUpdate'] == false) {
            for($i=1;$i<=3;$i++){
                $mybean->id=create_guid();
                $mybean->new_with_id = true;
                $mybean->name="AI->".$i;
                $mybean->fetched_row = null;
                $mybean->unique_id_c = uniqid();
                $mybean->ignore_update_c = true;
                $mybean->processed = true;
                $mybean->assigned_user_id = $bean->assigned_user_id;
                $mybean->save();      
            }

        }            
        return true;
    }

I am getting this error

An exception occurred while executing 'INSERT INTO pngm_ai_projects_cstm (id_c, assigned_c, brand_c, company_c) VALUES(?, ?, ?, ?)' with params ["5d790e7c-3c43-11eb-96f5-0242ac120008", null, "Basic", "Backordered"]: Duplicate entry '5d790e7c-3c43-11eb-96f5-0242ac120008' for key 'PRIMARY'

1 Answers1

1
public function generateName($bean, $event, $arguments) {
    
    $record_id = $bean->id;
    $module="PNGM_AI_Projects";

    if (isset($arguments['isUpdate']) && $arguments['isUpdate'] == false) {
        for($i=1;$i<=3;$i++){
            // create new bean here rather than fetching old beans always.
            $mybean = BeanFactory::getBean($module);
            $mybean->id=create_guid();
            $mybean->new_with_id = true;
            $mybean->name="AI->".$i;
            $mybean->fetched_row = null;
            $mybean->unique_id_c = uniqid();
            $mybean->ignore_update_c = true;
            $mybean->processed = true;
            $mybean->assigned_user_id = $bean->assigned_user_id;
            $mybean->save();      
        }

    }            
    return true;
}