0

ORM for Kohana を使用して作成、更新、または削除した後に、影響を受ける行の数を取得するにはどうすればよいですか? メインクラスをチェックしましたが、その値を返しません...

これを行うための可能な解決策があれば、私に知らせてください。Query Builder を使用できない場合は、ORM クラスのみを使用することをお勧めします。

ありがとうございました。

4

1 に答える 1

0

カスケード ファイルシステムにより、Kohana ではシステムまたはモジュール クラスに変更を加えることが非常に簡単です。

あなたの場合、ORMモジュールのメイン クラスのメソッドを再定義する必要があります。そのファイルは にあります/modules/orm/classes/kohana/orm.php

で新しいORMモジュールのメイン クラス ファイルを作成し、とメソッド/application/classes/orm.phpを再定義して、これらのメソッドが影響を受ける行の数を返すようにします。createupdatedelete

たとえば、新しいupdateメソッドは次で終了する必要があります。

// Update a single record
$update_result = DB::update($this->_table_name)
    ->set($data)
    ->where($this->_primary_key, '=', $id)
    ->execute($this->_db);

if (isset($data[$this->_primary_key]))
{
    // Primary key was changed, reflect it
    $this->_primary_key_value = $data[$this->_primary_key];
}

// Object has been saved
$this->_saved = TRUE;

// All changes have been saved
$this->_changed = array();
$this->_original_values = $this->_object;

return $update_result;
于 2012-11-05T16:24:10.200 に答える