次のような関係を持つ db テーブルがあるタスクがあります。
tbl_a - ida tbl_b - idb | ida tbl_c - idc | idb で、さらに 12 のテーブルに進みます…</p>
私はこのようなことをする必要があります:
ida - ida 行 (ida_1) の新しいコピーを作成します。古いものを無効に設定し、
idb - idb 行の新しいコピーを作成し、ida_1 をこの新しい行 (idb_1) の fk として使用します。IDB 行を無効に設定します。
さらにいくつかのテーブルに進みます。
今、私はこれ以外にこれを行うためのより簡単で時間とメモリを消費する方法があるかどうか疑問に思っていました:
ida_1 = ida -> copy();
ida_1->setNewProperties();
ida_1-> save();
idbs = ida->getIdbs();
foreach( idbs as idb) {
idb_1= idb -> copy();
idb_1->setIdA(ida_1)
idb_1->setSomeNewProperties();
idb_1->save();
idcs = idb->getIdcs();
foreach (idcs as idc) {
…same process...
}
idb->setANE();
idb->save();
}
ida -> setAsNonEffective();
ida -> save();