使用 ORM for Kohana 创建、更新或删除后,如何获取受影响的行数?我检查了主类,但没有返回那个值......
如果有任何可能的解决方案来做到这一点,请告诉我。如果可以不使用查询生成器,我更喜欢只使用 ORM 类。
谢谢你。
由于其级联文件系统,在 Kohana 中很容易对系统或模块类进行一些更改。
在您的情况下,您需要重新定义ORM
模块主类的方法。它的文件位于/modules/orm/classes/kohana/orm.php
.
在新ORM
模块主类文件中创建/application/classes/orm.php
并重新定义create
,update
和delete
方法,以便这些方法返回受影响的行数。
例如,新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;