2012-05-12 16 views
1

我正在使用cakephp並試圖將數組從視圖傳遞給控制器​​,我確實生成了一個名稱複選框,用戶應該選擇一些名稱並提交他的請求。

echo $this->Form->create('Task'); 
echo ($this->Form->input('sentTo', array('type' => 'select', 'multiple' => 'checkbox',  'options' => $options))); 
echo $this->Form->end('submit'); 

問題是sentTo複選框將返回指數檢查了$這個 - >請求 - >數據我不想這樣做,我想返回我可以在用戶的​​ID風景。所以我想用其他數字替換這些索引,我試圖手動覆蓋$ this-> request-> data,但這些更改僅在視圖中顯示,而不是在控制器中顯示。

如果您在將請求數據發送給控制器之前請知道如何更改請求數據,或將陣列從視圖傳遞到控制器試圖幫助我(我不想使用會話或緩存)

問候

+0

請顯示$ option數組內的內容?可能你必須通過傳遞用戶的ID來編輯這個數組 –

+0

$ j = 0; foreach($ users爲$ user){ $ options [$ j] = $ user ['u1'] ['username']; $ j ++; options array包含我顯示的用戶名,除了複選框 } – user1339562

+0

和$ user從哪裏來? –

回答

0

如果我理解正確的問題,並從上面的意見,這是你的問題:

$j = 0; 
foreach ($users as $user) { 
    $options[$j] = $user['u1']['username']; 
    $j++; 
} 

如果您正在使用的複選框,然後修改成:

foreach ($users as $user) { 
    $id = $user['u1']['id']; 
    $options[$id] = $user['u1']['username']; 
} 

雖然我沒有得到什麼'u1'是。

簡而言之:將options數組的鍵設置爲記錄的ID。

+0

模型方法在u1中返回結果,必須重命名錶,因爲它是一個嵌套查詢,它像一個魅力一樣工作謝謝:) – user1339562