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

Dil*_*ger 2 php mysql codeigniter

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

return  $this->db
                ->update('ea_appointments', $appointment)
                ->where('ea_appointments.id', $appointment_id);
Run Code Online (Sandbox Code Playgroud)

问题是该update方法需要两个参数(表更新,关联数组与db的字段名称列).在我的上面的函数中,我只传递了$appointment_id,所以变量$appointment是空的,不包含任何关联数组.我想知道如何更新仅现场data1.并保持相同值条件下的其他字段.这是表的结构:

id|book|start|end|notes|hash|unavailable|provider|data
Run Code Online (Sandbox Code Playgroud)

逻辑示例:

先前条件行:

id => 0
book => example
start => 18/10/2015
end => 19/10/2015 
notes => empty
hash => akdjasldja
unavailable => false
provider => 5
data => 0 
Run Code Online (Sandbox Code Playgroud)

我传递$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
Run Code Online (Sandbox Code Playgroud)

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

Fuz*_*ree 5

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

如果你只是想更新列data,以1对appointment_id 0然后在阵列传递data密钥和1该值.

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