Date CakePhp FormHelper-日期字段问题

Date CakePhp FormHelper-日期字段问题,date,cakephp,formhelper,Date,Cakephp,Formhelper,在“注册”操作的“视图”中,我尝试为出生日期创建一个日期字段 echo $this->Form->input("Member.dateofbirth", array( "label" => "Date of birth", "name" => "date_of_birth", "id" => "date_of_birth", "empty" => true, );

在“注册”操作的“视图”中,我尝试为出生日期创建一个日期字段

echo $this->Form->input("Member.dateofbirth", array(
            "label" => "Date of birth",
            "name" => "date_of_birth",
            "id" => "date_of_birth",
            "empty" => true,
);
但是当我使用submit按钮发送数据并进行
debug()
时,我看到
$this->request->data[“date\u of\u birth”]
只包含年份,不包含月份和日期

debug($this->request->data["date_of_birth"]);
调试()的结果:


我猜如果您在
FormHelper
中设置
name
选项,它只会修改第一个输入的名称(日期字段有3个输入)。这就是为什么当你试图读取具有该名称的字段时,你只能得到年份

如果你真的不需要一个不同的输入名称,你应该坚持默认值


因此,在这种情况下,删除
FormHelper
中的
name
选项将允许您读取字段,如
$this->request->data[“Member”][“dateofbirth”]

这是数据库中字段的类型?DATE(它是MySQL数据库)Ddid是否尝试使用默认字段名?我的意思是,删除FormHelper中的
“name”
选项。太好了!成功了:D谢谢你的时间;)这很奇怪,因为它更改了三个输入的名称。但不管怎样,你解决了我的问题,谢谢你因此,您最终得到了三个输入,它们的名称分别为“
”数据[成员][出生日期][年]”
“数据[成员][出生日期][月]”
和“
”数据[成员][出生日期][日]”
?如果是这样的话,那么你应该像阅读
$this->request->data[“Member”][“date\u of_birth”]
不,他们都有相同的名字“date\u of_birth”:D我想这就是问题所在。当我尝试使用$date_of_birth访问这三个信息时,只存储了最后一个信息。好的,我现在明白了。我想在使用
FormHelper
时,不应该在日期字段中使用
id
name
选项,因为这样会生成错误的html。如果你需要更改这些属性,你应该创建3个不同的字段。是的,你是对的。只是我不喜欢那些长名字再次感谢你的帮助!;)
array(
    'date_of_birth' => '1990'
)