2016-08-26 6 views
1

ORMで更新後、同じデータをデータベースに挿入する方法は? 例えば、私は関数save()を持っていますが、この関数の中に私は更新があり、動作していますが、古い更新データを挿入する方法はわかりません。つまり、データベースに歴史のようなものを作っておかなければならないということです。私は、あなたが私が何を意味するのか理解できることを願っています手伝ってくれてありがとう。kohana ---- auto insert

public function save(Validation $validation = NULL) 
{ 
    if ($this->loaded()) { 
     // UPDATE TRIGGER 

     DB::update($this->_table_name) 
      ->set(array('ud_status' => 'D')) 
      ->where('ud_status', '=', 'A') 
      ->where('ud_uId', '=', $this->ud_uId) 
      ->execute($this->_db); 

     return false; 
    } else { 
     // INSERT TRIGGER 
     return parent::save($validation); 
    } 
} 
+0

WOW!長い時間私はKohanaについて聞いていない... – felipsmartins

答えて

0
$query = DB::insert('users', array('username', 'password'))->values(array('fred', '[email protected]')); 

https://kohanaframework.org/3.3/guide/database/query/builder#insert

+0

私はすでにこれについて知っているが、私は最初に更新し、ステータスを 'D'値に変更する必要があるので、この関数をmysqlのトリガのように使う必要がある。新しいデータを使用した後でも、フォームでの更新のみを使用すると、テーブルに新しいレコードを追加する必要がありますが、データをビューからモデルに動的に転送する方法はまだわかりませんが、方法はわかりません。 O.o – R0ck99