0

I'm using this way to set the birthday in CakePHP, but when i turn back in the page I always get the current day date, so if I save the page without touch it, i get the today date as birthday:

<?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);
?>

How can i set the previous saved data from the database to the form?

4

2 回答 2

0

这种类型的输入以这种格式存储数据:

您可以将值以这种格式放入控制器中:

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

它将自动显示为在视图中选择。

询问是否不适合您

于 2012-08-29T12:32:23.820 回答
0

根据您的问题,我假设您正在编写某种编辑表单。在这种情况下,CakePHP 应该在您的输入中自动设置保存的表单数据。您应该能够保存地丢弃defaultvalue在您的-array 中$options

调试$this->form->data看看数据是否存在。否则你应该检查你的控制器代码。

顺便说一句:输入函数的签名是public function input($fieldName, $options = array()),因此您可能希望将$options-array 中的值合并到$attributes-array。

于 2012-08-27T20:14:32.287 回答