Kohana ORM更新,插入或删除以返回受影响的行数

时间:2012-10-30 21:22:18

标签: php kohana

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

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

谢谢。

1 个答案:

答案 0 :(得分:0)

由于其Cascading Filesystem,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;