如何使用Code Igniter的ActiveRecord类进行此查询?

时间:2010-07-28 03:50:49

标签: php sql activerecord codeigniter

我需要增加条目表上的注释数量,其中的SQL将是:

UPDATE entries SET comments = comments + 1 WHERE entry_id = 123;

我想知道如何使用Active Record Class形式代码点火器。

http://codeigniter.com/user_guide/database/active_record.html#update

1 个答案:

答案 0 :(得分:2)

您的问题几乎与this question重复。将set的第三个参数设置为FALSE可防止数据被转义。

$this->db->set('comments', 'comments+1', FALSE)
$this->db->where('entry_id', 123);
$this->db->update('entries');

如果您发现Active Record有点笨拙,也没有什么能阻止您直接执行SQL。

$sql = 'UPDATE entries SET comments=comments+1 WHERE entry_id=?';
$this->db->query($sql, array(123));