2012-08-26 44 views
0

我使用這種方式來設置CakePHP的生日,但是當我回到頁面時,我總是得到當天的日期,所以如果我保存頁面而不觸摸它,我得到今天的日期作爲生日:從CakePHP的數據設置當前的生日

<?php 
$attributes = array (
    'minYear' => date('Y') - 100, 
    'maxYear' => date('Y') - 0, 
    'label'=> false, 
    'default' => $user['Profile']['birthday'], 
    'value'=>$user['Profile']['birthday'] // how to set the previous saved data? 
); 
$options = array (
    'id' => 'birthday', 
    'after' => '<div class="message">Inserisce la tua data di nascita</div>' 
); 
echo $this->Form->input('Profile.birthday', $attributes, $options); 
?> 

我怎樣才能將以前保存的數據從數據庫設置到窗體?

回答

0

從你的問題,我假設你正在編寫某種編輯表單。在這種情況下,CakePHP應該自動設置輸入中保存的表單數據。您應該可以在您的$options陣列中省去丟棄defaultvalue

調試$this->form->data查看數據是否存在。否則,你應該檢查你的控制器代碼。

順便說一句:輸入函數的簽名是public function input($fieldName, $options = array()),所以你可能想合併你的$options-陣列中的值到你的$attributes-陣列。

0

此以這種格式類型的輸入存儲數據的:

你可以把值在控制器的格式如下:

$this->request->data['Profile']['birthday']['year'] ='xxxx'; 
$this->request->data['Profile']['birthday']['month']='xx'; 
$this->request->data['Profile']['birthday']['day'] = 'xx'; 

如在視圖中選擇它會自動顯示。

問你是否適合你

相關問題