1

エンティティは削除を拒否します

 ...
    var ormPref = EntityLoad("Pref", {PrefGroup = arguments.prefGroup, Pref = arguments.pref});

writedump(ormPref);

if (isnull(ormPref))    { return false; }
if (ArrayLen(ormPref) == 0) { return false; }

for (var i = 1; i <= ArrayLen(ormPref); i++)    {
    EntityDelete(ormPref[i]);
    EntitySave(ormPref[i]); 

    writeoutput("deleted");
    }

ORMFlush();

writedump(ormPref);

...

エンティティの定義は次のとおりです。

<cfcomponent persistent="true">
<cfproperty name="PrefID" fieldtype="id" generator="identity">
<cfproperty name="PrefGroup">
<cfproperty name="Pref">
<cfproperty name="Value">
<cfproperty name="modifyBy">
<cfproperty name="modifyDate"   generated="always">
<cfproperty name="createBy"     update="false">
<cfproperty name="createDate"   update="false" generated="always">
</cfcomponent>  

アップデート

それが削除されたことが判明し、後で他のコードが欠落していることに気づき、再び追加しました。そのため、関数は正常に機能しました

4

2 に答える 2

2

これらの削除は、トランザクションブロックでラップする必要があります。また、配列の先頭(先頭ではなく)から開始して削除してみてください。削除時に発生する正確なエラーも投稿すると便利です。

于 2012-12-15T23:09:05.533 に答える
1

他の何かがデータを追加していないことを確認してください

于 2012-12-16T03:56:26.200 に答える