我目前使用这样的输入更新我的数据库记录
$this->my_model->update($id, $this->input->post()));
(这是在我对所有输入执行验证之后。“模型”还有一个期望的数据白名单。)
问题:如果我正在更新一个复选框,并且它是“未选中”(即“假”) - 那么该字段不会被浏览器“发布”。
例如 - 如果我勾选 checkbox_two - 但未勾选 checkbox_one,$_POST 显示:
[field_one] = "some value"
[field_two] = "some value"
[checkbox_two] = 1
因此,我的模型不会更新该字段 - 因为它不是帖子的一部分。
反过来也不会发生同样的情况——因为“勾选”复选框被发布为“1”——因此被正确更新。
[field_one] = "some value"
[field_two] = "some value"
[checkbox_one] = 1
[checkbox_two] = 1
问题:除了必须始终专门检查每个复选框之外,有没有人有一个优雅的解决方案来处理这个问题?