2009-05-19 52 views
0

我正在使用CakePHP框架開發一個站點。我有一個顯示實體列表的表單,每個實體都有一個複選框讓您選擇它。然後按下表格底部的「選擇編輯」按鈕。在CakePHP中處理多個URL值

我通常的做法是給每個複選框輸入相同的名稱(例如row_id)並使用主ID作爲輸入的value。但是,當您提交表單時,CakePHP似乎只會將的一個複選框的值返回給$this->params['url']中的控制器,而不是像我所期望的任何類型的列表。

正確的方式來處理這個任何提示,以便我可以找出哪些行被打勾?

回答

1

如果您正在使用表單助手,最簡單的方法是創建你的領域是這樣的:

echo $form->input('ModelName.0.row_id', /* snip */) 
echo $form->input('ModelName.1.row_id', /* snip */) 

等你明白了吧。如果它是一個動態列表,總是有for循環。

當表單被提交,這應該給你一個服務器端陣列像這樣($這個 - >數據):

array 
(
    ['ModelName'] => array 
    (
     [0] => array 
     (
      [row_id] => value 
     ), 
     [1] => array 
     (
      [row_id] => value 
     ) 
    ) 
) 

然後你可以使用設置實用程序類提取您的ID(和食堂與您的數據:))