0

この質問がMySQLデータベースに関するものなのか、フレームワークに関するものなのかわかりません。私は両方だと思います。

したがって、以下のコードはテーブルを更新しますが、他の関連レコードを別のテーブルから削除します。以下のコードはKohana3フレームワークにあります。

ORM::factory ( 'deal' ) ->delete_all (); //removes data
    foreach ( $deals as $deal )
    {
      //refreshes the Deals table row by row
      $orm_deal = ORM::factory ( 'Deal' );
      //... apply some values
      $orm_deal = ->save ();
    }

問題:別のテーブルからレコードを削除したくない。取引の「新しい」レコードが関連するレコードと完全に互換性があり、チェーンが失われない場合、新しいデータで取引テーブルを「更新」することは可能ですか。dbと外部キー接続の構造を変更したくありません。また、モデル内の関係を変更したくありません。他に選択肢はありますか?ありがとうございました。

4

1 に答える 1

1

テーブル データを「更新」する方法はありません。

私が理解している限り、取引配列はテーブルの内容と異なる場合があります (一部の配列レコードは新しく、一部のテーブル レコードは古くて削除する必要があり、一部のレコードは更新する必要があります)。

そのような場合、あなたのやり方が最も正しいです。テーブルからすべてのレコードを削除してから、テーブルに新しいレコードを入力します。

テーブルデータを新しいもので本当に「リフレッシュ」したい場合は、各レコードを比較する関数を記述し(このレコードがテーブルにあるかどうか)、比較後に古いレコードを削除し、新しいレコードを挿入するか、古いレコードを更新する必要があります新しいデータ。

于 2012-09-21T10:28:31.713 に答える