更新数据库中的数组cakephp

uwopmtnx  于 2022-11-12  发布在  PHP
关注(0)|答案(1)|浏览(151)

我有一个如下所示的数组:

[0] => Array
    (
        [image] => http://images0.jpg
        [title] => 
    )

[1] => Array
    (
        [image] => http://image1.jpg
        [title] => 
    )

[2] => Array
    (
        [image] => http://image2.jpg
        [title] => 
    )

我用saveAll把这个数组保存到数据库中,当我从这个数组中取消设置例如键2时,如何从数据库中删除未设置的相应记录?

noj0wjuj

noj0wjuj1#

我会这样做:
在表单中添加复选框类型的额外字段,您可以添加一些javascript以获得更好的用户体验。
代码可能如下所示:

foreach($files as $key=>$file){
   echo '<div class="file" id="file_'.$key.'">';
   $this->Form->input("$key.title");
   $this->Form->input("$key.image");
   $this->Form->input("$key.deleted", array('type'=>'checkbox'));
   echo '</div>';
}

当用户点击复选框时,会出现警告“Are you sure”,如果用户点击“Yes”,则周围的div#file_XXX会被设置为隐藏。
这基本上会隐藏div,但是当用户提交表单时,字段会出现。
然后,您可以使用saveAll()保存数据,并在以后删除已删除=1的记录。
基本上,您的数组将如下所示:

[0] => Array
    (
        [image] => http://images0.jpg
        [title] => 
        [deleted]=>0
    )

[1] => Array
    (
        [image] => http://image1.jpg
        [title] => 
        [deleted]=>1
    )

[2] => Array
    (
        [image] => http://image2.jpg
        [title] => 
        [deleted]=>0
    )

解释不是很详细,但希望可以理解:)

相关问题