更新数据库cakephp中的数组

时间:2011-01-14 09:56:51

标签: database arrays cakephp

所以我有一个看起来像这样的数组:

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

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

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

然后我用saveAll将这个数组保存到数据库中,当我从这个数组中取消设置关键字2时如何从数据库中删除未设置的记录。?

1 个答案:

答案 0 :(得分:1)

我会这样做:

在表单中添加额外字段类型的复选框,您可以添加一些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>';
}

当用户点击复选框时,会出现警告“您确定”,如果用户单击“是”,则可以将周围的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
    )

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