2011-07-08 35 views
0

我有一個名爲Uploads的表。如何爲表中的條目添加兩次命名約定?

我已經做在這個表中的條目有「型」,即 YouTube的視頻鏈接和圖像表上傳

所以我寫了這樣的代碼

//兩次視頻鏈接 echo $ form-> input('Project.Upload.Name',array('type'=>'file','label'=> false));

和 //用於圖像 回聲$形式 - >輸入( 'Project.Upload.Name',陣列( '類型'=> '文件', '標籤'=>假));

如何區分這兩個字段? 有沒有這樣的命名約定,以便我可以分離出鏈接和圖像的字段。

+0

爲什麼你不只有2個單獨的領域?那會解決你的問題......不是? – YonoRan

回答

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以獲取更多更深入的信息。

編輯

如果您需要跟蹤什麼類型你上傳你必須添加這樣的:

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' 
     ) 
    ) 
) 
+0

是的我想要單獨的上傳字段,但對於視頻和圖像兩個東西。我的概率是什麼,當我必須插入上傳表類型,我不知道哪一個是視頻和哪個是這個數組[ ] =>'' )) – vibha

+0

請看看我的編輯 – Tim

+0

非常感謝。它的工作... – vibha