0

使用 ORM for Kohana 创建、更新或删除后,如何获取受影响的行数?我检查了主类,但没有返回那个值......

如果有任何可能的解决方案来做到这一点,请告诉我。如果可以不使用查询生成器,我更喜欢只使用 ORM 类。

谢谢你。

4

1 回答 1

0

由于其级联文件系统,在 Kohana 中很容易对系统或模块类进行一些更改。

在您的情况下,您需要重新定义ORM模块主类的方法。它的文件位于/modules/orm/classes/kohana/orm.php.

在新ORM模块主类文件中创建/application/classes/orm.php并重新定义create,updatedelete方法,以便这些方法返回受影响的行数。

例如,新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 回答