次の2つのアップロード・フィールドが必要な場合は、このようにそれらに名前を付ける必要があります:
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
で配列を作成します。詳しくは、how to save related model dataをCookbookでご覧ください。
編集が
あなたがアップロードを入力し何を追跡する必要がある場合は、このようにそれを追加する必要がされています。あなたはここで行う
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'));
何があなたとあなたの最初のアップロードを関連付けることです隠し値 'image'を持つ最初の型フィールド。したがって、最初のエントリはデータベース(Cake-Array)に保存されます:
画像とビデオの処理は、データベースに保存する前に行う必要があります。
array(
[Upload] => array(
[0] => array(
[id] => 1,
[name] => 'test.jpg',
[type] => 'image'
),
[1] => array(
[id] => 1,
[name] => 'test.avi',
[type] => 'video'
)
)
)
出典
2011-07-08 08:07:33
Tim
なぜ2つの別々のフィールドがありますか?それはあなたの問題を解決するだろう...いいえ? – YonoRan