CF9 EntityDelete:エンティティを削除する方法
-
23-09-2019 - |
質問
私は、エンティティの配列を持っている場合は、
は、エンティティの配列全体を削除する最も簡単な方法をいただきました!(またはそれはこのようにして、全体のORMテーブルを置くために)?私が持っています:
<cfset allUsers = EntityLoad("User", {}, false)/>
これで、すべてのエンティティを削除するには、私はループのいくつかの並べ替えを使用するのでしょうか?もしそうなら、どのように私は内の個々のエンティティの主キーにアクセスするのですか?私が試した:
<cfset userTemp = EntityLoad("User", allUsers[i].User.userID, true) />
が、うまくいきませんでしたという...
解決
:我々は、使用するentityDelete以上のループをできるようにし、
EntityLoadは、エンティティオブジェクトの配列を返します。
<cfloop array="#allUsers#" index="User">
<cfset entityDelete( User )>
</cfloop>
データは気をつけて削除いつものように!私は一般的にソフト削除を好むます。
他のヒント
あなたは配列表記を使用したい場合、あなたはこのようにそれを行うます。
<cfloop from="1" to="#arraylen(allUsers)#" index="i">
<cfset entityDelete( allUsers[i] )>
</cfloop>
ColdFusionはすべての作業を行うにすることなく、これを行うための別の方法は、クエリを実行することです。
<cfset ormexecutequery("DELETE FROM User",true)>
(メモリを解放するという点で)配列を削除すると、あなたが何をしたいのかである場合は、次のように動作するはずます:
<cfset allUsers = "">
<!--- or --->
<cfset StructDelete(variables, "allUsers")>
もちろんこれは、唯一の参照を削除します。オブジェクト(ALLUSERSまたは個々のアレイメンバーが)どこか他に参照されている場合は、これらの参照は作業を続けるでしょう。
所属していません StackOverflow