0

我正在研究 CI 2.1.3 并遇到以下问题。我在这里做错了什么?有没有我需要做或知道的阅读或知识。

Codeigniter ActiveReocrd 更新语法

$data['spun'] = TRUE;
$this->db->update('registered', $data, 
                  "registered_id = $registration['registered_id']");

我所期望的

UPDATE `registered` SET `spun` = 1 WHERE `registered_id` = 1

CI 生成了什么

UPDATE `registered` SET `spun` = 1 WHERE `id` = 1

DB 表(括号内)

注册(注册ID,注册名称,...,旋转);

编辑 1

我也尝试了以下方法,但 CI 给出了相同的 SQL。

$this->db->update('registered', $data, 
                  array('registered_id' => $registration['registered_id']));
4

2 回答 2

1

我认为解决方案非常简单。你可以简单地这样做:

$data['spun'] = TRUE;
$this->db->update('registered', $data, 
                        array('registered_id' => $registration['registered_id']);
于 2012-10-21T20:41:26.900 回答
0

基于代码点火器文档:

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

你应该使用:

$data['spun'] = TRUE;
$this->db->where('registered_id', $registration['registered_id']);
$this->db->update('registered', $data);
于 2012-10-22T07:51:54.253 回答