这可能是一个非常简单的答案,但到目前为止,我所有的研究都没有找到答案!
我使用的是CakePHP 2.4。我使用CakePHP助手设置了一个Form,列表中有一个dob字段,
$DOBOps = array('label' => 'D.O.B','div' => false, 'type' => 'date',
'dateFormat' => 'DMY','maxYear' => date('Y') - 100,
'minYear' => date('Y'), 'default' => $UserDOB);
$this->Form->input('dobraw', $DOBOps);
现在它被称为dobraw,所以它不会在我的$this->data
中列为dob,因为我想把它转换为第一个。因此,我取天、月和年,并使用PHP将其转换为一个简单的时间戳,然后使用$this->request->data
将其设置为dob。
这一切都有效,我的代码可以很好地转换它并将数据保存到数据库中,但当我返回到用户配置文件/设置页面时,我希望它用保存到数据库的数据更新表单。
我尝试过,添加了一个默认标记,但不起作用,我还转换回了dd-mm-yyyy格式,所以$UserDOB
保存的是数据而不是时间戳。
谢谢,
我已经解决了它,我认为这是因为它正在加载dd-mm-yyyy。我必须将我提供的数据设置为相同的格式,但当我获得纯时间戳时,我似乎可以工作。
如果有更好的方法,请告诉我。
谢谢。