我正在尝试将分钟添加到CakePHP中的时间戳。我希望在处理表单时抓住时间戳。
请记住,我只是在学习这些东西。
这是我索引视图中的表单代码...
<?php
echo $this->Form->create('Text');
$expirations = array('9999999'=>'Never','10'=>'10 Minutes','60'=>'1 Hour','1440'=>'1 Day','10080'=>'1 Week','40320'=>'1 Month','525600'=>'1 Year');
echo $this->Form->input('expiration', array('options' => $expirations), array('empty'=>false));
echo $this->Form->input('title');
echo $this->Form->input('body', array('rows' => '3'));
echo $this->Form->end('Upload');
?>
我想从我的'到期'输入中获取值,并将该分钟数添加到当前时间。
我目前使用的PHP代码是:
DATE_ADD(CURRENT_TIMESTAMP, INTERVAL $expiration MINUTE)
其中$ expiration是要添加的分钟数。
非常感谢你的帮助。
答案 0 :(得分:0)
不会
$expiration += ($minutes * 60);
诀窍,还是我错过了什么?
答案 1 :(得分:0)
你在哪里知道输入有更多参数?
它应该是(如文件所述):
echo $this->Form->input('expiration', array('options' => $expirations, 'empty'=>false));
PS:一个好的IDE会告诉你,通过代码完成,没有这样的参数。
关于您的问题:您可以在以多种方式保存之前修改数据:
a)在控制器级别
if ($this->request->is('post') || $this->request->is('put')) {
$this->request['Text']['expiration'] += $yourValue; // we modify it first and then save it
if ($this->Text->save($this->request->data)) {...}
}
b)在模型中作为回调(推荐)
public function beforeValidate($options = array()) {
if (isset($this->data[$this->alias]['expiration'])) {
$this->data[$this->alias]['expiration'] += $yourValue;
}
return true;
}