2012-08-26 1 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

С вашего вопроса, я предполагаю, что вы пишете какую-то Edit-Form. В этом случае CakePHP должен автоматически настраивать сохраненные данные формы на ваших входах. Вы должны иметь возможность отказаться от default и value в вашем $options -array.

Отладка $this->form->data, чтобы увидеть, есть ли данные. В противном случае вы должны проверить свой код контроллера.

Кстати: подпись функции ввода public function input($fieldName, $options = array()), поэтому вы, вероятно, захотите объединить значения в своем $options -array на ваш $attributes -array.

0

Этот тип входных данных хранит в этом формате:

Ваш может поместить значение в контроллер формат:

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

Он будет автоматически отображаться, выбранные в поле зрения.

Задать вопрос, если у вас нет работы