обновить массив в базе данных CakePHP - PullRequest
0 голосов
/ 14 января 2011

Итак, у меня есть массив, который выглядит следующим образом:

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

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

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

И я сохраняю этот массив в базу данных с помощью saveAll, и когда я отменяю, например, ключ 2 из этого массива, как удалить запись из базы данных, котораяне установлен .?

1 Ответ

1 голос
/ 14 января 2011

Я бы сделал это следующим образом:

добавьте в форму дополнительное поле типа флажка, вы можете добавить некоторый 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
    )

Объяснение не очень подробное, но, надеюсь, оно понятно:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...