如何在ORM Kohana上计算一列加一

时间:2012-10-28 03:02:20

标签: php kohana

我在Kohana和ORM方面遇到了一些问题。

我想更新

column = column + 1 
那个!就这么简单。

我尝试过很多方法并且总是重复计数,例如:

initial column value = 0
column = column + 1
result = 3 (how is this possible???)

这些是方法,没有任何工作......

这是多次尝试,没有任何作用:(

public function update_views()
{
    $this->set('column', DB::expr('column + 1'))->save();
}
public function update_views()
{
    $this->set('column', $this->column + 1)->update();
}

public function update_views()
{
    DB::update('table')->set(array('column' => DB::expr('column + 1')))->where('id', '=', $this->id)->execute(); // this was my last hope and nothing.... 
}

所有三个工作完美,没有错误,没有什么......只是当我检查数据库上的表不是我想要的...有什么建议吗?请告诉我。

感谢。

2 个答案:

答案 0 :(得分:0)

我认为这可能是因为您之后尝试调用更新而不是保存。我不确定为什么这会导致它实际上没有更新,但下面的代码应该可以工作。

public function update_views()
{
    $this->column = $this->column + 1;
    $this->save();
}

答案 1 :(得分:0)

DB :: update('tablname') - > set(array('column_name'=> DB :: expr('column_name + 1')) - > where('id','=', 'primary_key') - >执行();

为我工作。