Как удалить строки из временной таблицы с помощью EntityDelete в CFSCRIPT

Если у меня есть массив объектов, загруженных из временного отношения, используя ORMExecuteQuery()как я могу использовать EntityDelete() удалить все объекты.

я пытался EntityDelete( tempArr ) Но это не работает. Тем не менее, я могу перебирать массив и добавлять каждую сущность с дополнительной информацией в новое окончательное отношение.

Вот мой cfscript код:

tempArr = ORMExecuteQuery( "FROM TEMP WHERE CartID=#FORM.CartID#" );
transaction {
    for( i=1; i LTE ArrayLen(tempArr); i=i+1 ) {
        reg = EntityNew( "register" );
        reg.setFirstName( tempArr[i].getFirstName() );
        ........
        EntitySave( reg );
        ORMFlush();
    }
    EntityDelete( tempArr );//<<== THIS IS NOT DELETING THE ENTITIES
}

Ошибка:

- Object passed is not a valid entity.

1 ответ

Решение

Использование EntityDelete( tempArr[i] ); в конце цикла.

tempArr = ORMExecuteQuery( "FROM TEMP WHERE CartID=#FORM.CartID#" );
transaction {
    for( i=1; i LTE ArrayLen(tempArr); i=i+1 ) {
        reg = EntityNew( "register" );
        reg.setFirstName( tempArr[i].getFirstName() );
        ........
        EntitySave( reg );
        ORMFlush();
        EntityDelete( tempArr[i] );//<<== THIS WORKS!!
    }
}
Другие вопросы по тегам