如何在CodeIgniter更新中更新特定字段?

时间:2015-10-18 14:32:40

标签: php mysql codeigniter

我正在为CodeIgniter库使用easyappointments.org框架。我正在尝试通过行的id更新字段data。实际上这是我的更新代码:

return  $this->db
                ->update('ea_appointments', $appointment)
                ->where('ea_appointments.id', $appointment_id);

问题是update方法需要两个参数(要更新的表,带有db的字段名称列的关联数组)。在我的上面的函数中,我只传递$appointment_id,因此变量$appointment是空的,不包含任何关联数组。我想知道如何仅将字段data更新为1。并保持相同值条件下的其他字段。 这是表格的结构:

id|book|start|end|notes|hash|unavailable|provider|data

逻辑示例:

之前的条件行:

id => 0
book => example
start => 18/10/2015
end => 19/10/2015 
notes => empty
hash => akdjasldja
unavailable => false
provider => 5
data => 0 

我传入函数$appointment_id,其值为0。我正在等待这个新结果:

id => 0
book => example
start => 18/10/2015
end => 19/10/2015 
notes => empty
hash => akdjasldja
unavailable => false
provider => 5
data => 1

那么主要的问题是先检索特定行的所有字段值然后再更新?或类似的东西。有人能帮助我吗?

1 个答案:

答案 0 :(得分:5)

  

在我的上面的函数中,我只传递$ appointment_id,所以变量   $ appointment是空的,不包含任何关联数组。

如果您只是想将data列更新为1,以获取约会0,则传入一个数组data为密钥,1为价值。

$appointment_id = 0;
$appointment = array('data' => 1);    
$this->db->where('id', $appointment_id);
$this->db->update('ea_appointments', $appointment);