Как объединить массив подчиненных форм в один массив в Zend Framework1.11

Я использую Zend Framework 1.11. В моей форме Zend у меня есть две подформы Zend, я добавил эти две подформы, используя функцию addSubForm.

Теперь, когда я вызываю эту форму zend в контроллере, функция isValid не работает. Я назвал это следующим образом.

public function registeredAction(){
    $form = new Application_Form_RegisteredForm();
    $form->setAction('registered');
    $formData = $this->_request->getPost();

    if($form->isValid($formData)){
       // save into database using model class.
    } else {
      $form->populate($formData); 
    }
    $this->view->form = $form;
}

В следующем коде isValid не работает, пока я печатаю запрошенный массив $fotmData, он печатает массив, например: -

   Array(
          [personal] => Array
          (
             [firstname] => 'Example',
             [lastname]  => 'Solution' 
          )
         [MAX_FILE_SIZE] => 8388608
         [address] => Array
         (
            [country] => 'IND',
            [state] => 'RAJ'
         )
   );

Я также использовал функцию setData(), но она не работает, она выдает исключительную ошибку «Сообщение: метод setData не существует», я использовал функцию php array_merge, но возвращаемый массив не работает с isValid().

Может ли кто-нибудь помочь мне решить эту проблему. поэтому я могу легко хранить данные формы в базе данных.

Спасибо!


person user1414979    schedule 24.07.2013    source источник


Ответы (1)


Взгляните на array_merge

http://php.net/manual/de/function.array-merge.php

$newFormData=array_merge($formData["personal"],$formData["address"]);
person Lucian Depold    schedule 24.07.2013