我已经创建了一个注册表单。 我有3个选择框。日月年。 在我的数据库中,我有一个名为“Birthday”的列,其格式为“date”。 现在我想将所有三个放在一起并将结果插入数据库。
public function beforeSave($options = array()){
$this->data['User']['Birthday'] = $this->data['User']['Year'] . '-' . $this->data['User']['Month'] .'-' . $this->data['User']['Day'];
return true;
}
但这不起作用:(
这些字段(日,月,年,生日)都没有验证规则..
我该怎么做?
答案 0 :(得分:1)
您可以在模型中尝试以下代码:
public function beforeSave($options = array()){
if(!empty($this->data)){
//pr($this->data);die;
$this->data['User']['Birthday'] = date('Y-m-d', strtotime($this->data['User']['Year'] . '-' . $this->data['User']['Month'] .'-' . $this->data['User']['Day']));
unset($this->data['User']['Year']);
unset($this->data['User']['Month']);
unset($this->data['User']['Day']);
}
return true;
}
表单中必须有以下表单字段:
<?php echo $this->Form->create('User', array('url' => $this->params));
echo $this->Form->input('Year', array('options' => $year_options, 'type' => 'select'));
echo $this->Form->input('Month', array('options' => $month_options, 'type' => 'select'));
echo $this->Form->input('Day', array('options' => $day_options, 'type' => 'select'));