2014-01-22 3 views
0

Я пытаюсь сделать несколько select-delete для моей модели CakePHP Payment.Множественный выбор для CakePHP

У меня есть строка, на мой взгляд

<?php echo $this->Form->checkbox('Payments.'.$payment['Payment']['id'], array('value' => $payment['Payment']['id'], 'hiddenField'=>false)); ?> 

что создает флажков с платежной идентификатор в качестве значения. У меня есть метод в моем контроллере, который вызывается, когда я нажимаю кнопку на странице просмотра. Это единственный код, выполняющийся внутри метода.

foreach ($this->request->data['Payments'] as $key => $value) { 
    $this->Payment->delete($key); 
} 

По какой-то причине это не работает. Я получаю эти ошибки

Notice (8): Undefined index: Payments [APP/Controller/PaymentsController.php, line 114] 
Warning (2): Invalid argument supplied for foreach() [APP/Controller/PaymentsController.php, line 114] 

которые оба происходящие из-за вызова $this->request->data.

Я сделал кучу исследований на торте, и это кажется правильным синтаксисом.
Если у кого-то есть опыт с этим, было бы очень признательно, спасибо заранее.

+0

Возможно, вам нужны $ this-> request-> data ['Payment'] ['Payments'], если имя модели равно Payment – cornelb

ответ

0

Проверить $ this-> request-> данные [ 'Платежи'] массив, то он должен быть ниже формате:

array('12'=>'12','87'=>'87'); 

если нет, то попробуйте $ this-> данных [ 'Платежи']

foreach($this->request->data['Payments'] as $key => $value){ 
      $this->Payment->deleteAll(array('Payment.id' => $key), false); 
      } 
+0

, похоже, что он не получает данные, которые я передаю, так как этот массив пуст для некоторая причина. –

+0

Обновить вопрос, какой код вызова html и ajax вы используете? – Anubhav

+0

Возможно, это часть проблемы. на данный момент у меня нет кода вызова ajax. –

Смежные вопросы