Если вы хотите два поля загрузки, вы должны назвать их так:
echo $form->input('Project.Upload.0.Name', array('type'=>'file','label' => false));
echo $form->input('Project.Upload.1.Name', array('type'=>'file','label' => false));
Это создаст массив в $this->data
, готовый к использованию.Посмотрите как сохранить связанные данные модели в Поваренной книге для получения более подробной информации.
Редактировать
Если вам нужно отслеживатькакого типа ваша загрузка, вы должны добавить ее следующим образом:
echo $form->input('Project.Upload.0.Name', array('type'=>'file','label' => false));
echo $form->input('Project.Upload.0.Type', array('type'=>'hidden','value' => 'image'));
echo $form->input('Project.Upload.1.Name', array('type'=>'file','label' => false));
echo $form->input('Project.Upload.1.Type', array('type'=>'hidden','label' => 'video'));
Что вы делаете здесь, так это то, что вы ассоциируете свою первую загрузку с первым полем типа, которое имеет скрытое значение 'изображение'.Таким образом, первая запись будет сохранена в вашей базе данных примерно так (как Cake-Array):
Обработка изображения и видео, конечно, должна быть выполнена перед сохранением, так что база данных.
array(
[Upload] => array(
[0] => array(
[id] => 1,
[name] => 'test.jpg',
[type] => 'image'
),
[1] => array(
[id] => 1,
[name] => 'test.avi',
[type] => 'video'
)
)
)