14

我想使用 codeigniter 活动记录来实现 SQL 语句。

UPDATE tags SET usage = usage+1 WHERE tag="java";

如何使用 Codeigniter 活动记录来实现这一点?

问候

4

3 回答 3

51
$this->db->set('usage', 'usage+1', FALSE);
$this->db->where('tag', 'java');
$this->db->update('tags');
于 2010-07-22T08:33:06.513 回答
5

你也可以使用这样的东西

$data = array('usage' => 'usage+1', *other columns*);
$this->db->where('tag', 'java');
$this->db->update('tags', $data);

更新:$data 没有被传递到更新

于 2012-12-20T06:01:50.487 回答
2

我发现有时只编写 SQL 而不是让 Active Record 为我构建它更简单。

$sql = 'update tags set usage=usage+1 where tag=?';
$this->db->query($sql, array($tag));
于 2010-07-22T20:53:12.247 回答