首先,我将展示我想做的事情。
我想检查用户是否有多条记录:
WHERE 'from_user_id' == '$id'
查询return > 0
时,我只想更新一条记录where 'from_user_id' == '$id'
,
我不关心订单,它可以是最后一个或第一个记录,但我必须只更新一个记录。
以下是我模特的一部分:
public function get_bonuses() {
if ($this->db->where('from_user_id', $this->user_id())->from($this->reff_table)->count_all_results()>0 ) {
$this->db->where('from_user_id', $this->user_id());
$this->db->update($this->reff_table, array('used' => '1'));
return true;
} else
return false;
}
它工作正常,但我只想更新一条记录:<
我希望有人能帮助我。 此致
-----编辑 已解决 - 我是如此愚蠢,但我需要从另一边看我的代码:) 这是工作代码:
if ($this->db->where(array('from_user_id' =>$this->user_id(), 'used' => '0' ))->from($this->reff_table)->count_all_results()>0 ) { $this->db->where(array('from_user_id' =>$this->user_id(), 'used' => '0' ))->limit(1); $this->db->update($this->reff_table, array('used' => '1')); return true;
答案 0 :(得分:0)
如果要更新结果中的任何一条记录,只需将查询计数的查询限制为1&获取其唯一ID(主键)并更新该行。