Php 如何更新,但字段是否为空
我需要运行保存/更新查询,但只更新那些不为空的字段。我的表单包含一个文件字段,如果我没有上传任何文件,那么当执行save()时,即使显示了以前的数据,该字段也将变为空白,因此我如何保存/更新,但仅保存包含要更新内容的字段Php 如何更新,但字段是否为空,php,cakephp,frameworks,cakephp-2.0,Php,Cakephp,Frameworks,Cakephp 2.0,我需要运行保存/更新查询,但只更新那些不为空的字段。我的表单包含一个文件字段,如果我没有上传任何文件,那么当执行save()时,即使显示了以前的数据,该字段也将变为空白,因此我如何保存/更新,但仅保存包含要更新内容的字段 提前干杯和感谢您始终可以添加一个条件,检查用户是否上传文件。 如果不是,请在数据库中为该文件选择当前值,并使用旧值更新它 例如: $update['description'] = $_POST['description']; //just another field if($_
提前干杯和感谢您始终可以添加一个条件,检查用户是否上传文件。 如果不是,请在数据库中为该文件选择当前值,并使用旧值更新它 例如:
$update['description'] = $_POST['description']; //just another field
if($_POST['file']['name'] == "") //check if there's a new file
$update['filename'] = $this->book->file_name; //current file name
else
$update['filename'] = $_POST['file']['name']; //new file name in case the user uploaded a new file
$this->book->update($update); //update no matter what
在您的模型中,您需要事先测试数据是否为空,在这种情况下,取消设置它
if ($this->data['file'] == "") {
unset($this->data['file']);
}
谢谢,它工作得很好,但只有一件事不是在我的模型中,我需要检查这是在我的控制器:)取决于你的应用程序,但我会让这个任务到我的模型。不管怎样,只要它起作用……)