web-dev-qa-db-ja.com

codeigniterを使用して、データベース内のフィールドの値を1ずつ更新します

Codeigniterアクティブレコードを使用してSQLステートメントを実装したいと思います。

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

Codeigniterのアクティブレコードを使用してこれを実装するにはどうすればよいですか?

よろしく

14
vikmalhotra
$this->db->set('usage', 'usage+1', FALSE);
$this->db->where('tag', 'Java');
$this->db->update('tags');
41
Phil Sturgeon

このようなものを使用することもできます

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

更新:$ dataが更新に渡されていませんでした

4
Srihari Goud

Active RecordにSQLをビルドさせるよりも、SQLを作成する方が簡単な場合があります。

$sql = 'update tags set usage=usage+1 where tag=?';
$this->db->query($sql, array($tag));
0
Stephen Curran