2015-07-30 2 views
1

Я пытаюсь сделать ввод даты, который по умолчанию соответствует значению, которое уже находится в базе данных.CakePHP: Как изменить значение по умолчанию ввода даты

Однако, когда я устанавливаю месяц, год и дату для значений базы данных, атрибуты месяца, даты и года устанавливаются на элементе выбора, но страница по-прежнему отображает текущую дату в качестве значений по умолчанию. Когда форма отправляется, сегодняшняя дата хранится в базе данных.

Heres код:

$mail_date_time = \explode(" ",$campaign["MailedDate"]); 
$mail_date = explode("-",$mail_date_time[0]); 

echo $this->Form->create("Campaign"); 
    echo $this->Form->input("MailedDate",array(

     'month' =>strtotime($mail_date[1]), 
     'year' => strtotime($mail_date[0]), 
     'day' => strtotime($mail_date[2]) 
    )); 

echo $this->Form->end("Submit"); 

$ mailed_date оказывается: [0] = 2009 [1] = 11 [2] = 11

Кто-нибудь знает, как решить это? Спасибо!

+0

Оставив его без каких-либо изменений в 'Y-м-d' формат не работает? – marian0

ответ

0

Хранение формы торта включает форматирование дат ... т. Е. 'DateFormat' => 'DMY' на входе MailedDate.

Значение, отображаемое полем ввода, будет по умолчанию значением, содержащимся в $ this-> data, и может быть полностью перезаписано с использованием 'default' => 'value' или предварительно заполнено с использованием 'empty' => 'value'.

0

Для прекомпиляцию поля даты-времени необходимо использовать ключевое слово «по умолчанию»:

$mydate = '2015-09-10 06:40:00' 
echo $this->Form->input('datetime', array(
    'label' => 'Date 2', 
    'default' => $mydate 
)); 
Смежные вопросы