Проверка формы для реляционных элементов - PullRequest
1 голос
/ 29 апреля 2011

У меня есть форма в CakePHP для сохранения информации на нескольких моделях.Моя первая модель - «Мир», у меня нет проблем с этими полями, проверка правильна, и она правильно сохраняется в базе данных.Вторая модель - «Страна», я использую что-то вроде этого:

echo $this->Form->input('Country.0.name');

Это правильно сохраняется в базе данных, но нет проверки (например, лестница для обязательных полей) и нет автоматического (автоопределениеТип содержимого).Третья модель - «Регион», я использую тот же код, что и для второй, но нет проверки, автоматики и сохранения ...

Может кто-нибудь помочь?

Спасибо, Себастьян

1 Ответ

0 голосов
/ 29 апреля 2011

Не видя остальной части вашего кода, я предполагаю, что вы пытаетесь сохранить несколько стран одновременно Модель ожидает, что данные поступят в определенном формате:

$this->data['Model']['field'];

То, что вы передаете:

$this->data['Model'][0]['field'];

Модель не может его интерпретировать. Чтобы решить эту проблему, создайте foreach, когда вы собираете данные и отправляете каждый запрос независимо.

foreach($country as $field) {
   $data['Country']['field'] = $field;
   // add other fields that are required

   if($this->Country->validates($data)) {
      $this->Country->create();
      $this->Country->save($data);
   } else {
      // error handling
   }
}

Удачи и удачного кодирования!

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