CF9 EntityDelete: Как удалить объекты

Если у меня есть массив объектов, каков самый легкий способ удалить целый массив объектов (или поместить его этот путь, вся таблица ORM)? Я имею:

<cfset allUsers = EntityLoad("User", {}, false)/>

Теперь для удаления всех объектов я использовал бы своего рода цикл? Если так, как я получаю доступ к отдельным первичным ключам объекта в? Я попробовал:

<cfset userTemp = EntityLoad("User", allUsers[i].User.userID, true) /> 

но это не работало...

5
задан Adam Tuttle 1 October 2010 в 20:54
поделиться

3 ответа

EntiteLoad вернет массив объектов объекта, чтобы мы могли зацикливаться и использовать EntityDelete:

<cfloop array="#allUsers#" index="User">
   <cfset entityDelete( User )>
</cfloop>

как всегда, когда удаление данных осторожны! Я обычно предпочитаю мягкое удаление.

10
ответ дан 18 December 2019 в 10:44
поделиться

Если удалить массив (с точки зрения бесплатной памяти) - это то, что вы хотите сделать, следующее должно работать:

<cfset allUsers = "">
<!--- or --->
<cfset StructDelete(variables, "allUsers")>

Конечно, это только удалит одну ссылку. Если объекты (alloosers или отдельных членов массива) ссылаются в какое-то время, эти ссылки будут продолжать работать.

0
ответ дан 18 December 2019 в 10:44
поделиться

Если вы хотите использовать нотацию массива, вы делаете это так.

<cfloop from="1" to="#arraylen(allUsers)#" index="i">
    <cfset entityDelete( allUsers[i] )>
</cfloop>

Еще один способ сделать это, не делая ColdFusion, все работы - это выполнить запрос.

<cfset ormexecutequery("DELETE FROM User",true)>
6
ответ дан 18 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: