Как удалить строки из временной таблицы с помощью 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!!
}
}