如何使用ORM for Kohana创建,更新或删除后获得受影响的行数?我检查了主类,但没有返回该值......
如果有任何可能的解决方案,请告诉我。如果有可能不使用查询生成器,我更喜欢只使用ORM类。
谢谢。
答案 0 :(得分:0)
由于其Cascading Filesystem,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;