CakePHP:如何更改Date输入的默认值

时间:2015-07-30 17:45:46

标签: php sql-server cakephp

我正在尝试创建一个默认为数据库中已有值的日期输入。

但是,当我将月,年和日设置为数据库值时,将在select元素上设置month,date和year属性,但页面仍会将当前日期显示为默认值。提交表单后,今天的日期将存储在数据库中。

下面是代码:

$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

有谁知道如何解决这个问题? 谢谢!

2 个答案:

答案 0 :(得分:0)

Cake表单助手包括日期格式...即'dateFormat'=> MailedDate输入中的“DMY”。

输入字段显示的值将默认为$ this->数据中包含的值,并且可以使用'default'=>完全覆盖。 'value',或使用'empty'=>预填充'值'。

答案 1 :(得分:0)

为了预编译日期时间字段,必须使用'默认'关键字:

$mydate = '2015-09-10 06:40:00'
echo $this->Form->input('datetime', array(
  'label' => 'Date 2',
  'default' => $mydate
));