Как проверить несколько полей, используя одно и то же имя поля?

This is the structure of $this->request->data:

 array(
        'Capture' => array(
             'items' => array (
                 0 => array(
                    'description' => '',
                    'amount' => ''
                 )
                 1 => array(
                    'description' => '',
                    'amount' => ''
                 )
            )
        )
)

И я должен подтвердить это.

0
nl ja de

1 ответы

Чтобы проверить несколько записей с одинаковыми полями, вы можете использовать Model :: saveAll и передать параметр, указывающий на его подтверждение.

Note that I don't think you can pass in your $this->request->data (the items level would throw it off) in the above format. It needs to either be in the format:

array(
    'ModelName' => array(
        '0' => array(...)
        '1' => array(...)
        //...
        'n' => array(...)
    ),
)

ИЛИ:

array(
     '0' => array(...)
     '1' => array(...)
     //...
     'n' => array(...)
)

Поэтому передайте его в функцию следующим образом:

$this->Capture->saveAll($this->request->data['Capture']['items'], array('validate' => 'only'));

Вот аналогичный вопрос:

Проверка нескольких полей с тем же именем

1
добавлено
Я должен использовать только поля, чтобы не использовать saveAll (). Используйте validates ()
добавлено автор archu, источник