我在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....
}
所有三个工作完美,没有错误,没有什么......只是当我检查数据库上的表不是我想要的...有什么建议吗?请告诉我。
感谢。
答案 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') - >执行();
为我工作。