所以我有一个看起来像这样的数组:
[0] => Array
(
[image] => http://images0.jpg
[title] =>
)
[1] => Array
(
[image] => http://image1.jpg
[title] =>
)
[2] => Array
(
[image] => http://image2.jpg
[title] =>
)
然后我用saveAll将这个数组保存到数据库中,当我从这个数组中取消设置关键字2时如何从数据库中删除未设置的记录。?
答案 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
)
解释不是很详细,但希望这是可以理解的:)