如何获取当前时间戳并在CakePHP中添加分钟?

时间:2012-04-08 06:33:59

标签: php cakephp cakephp-2.0

我正在尝试将分钟添加到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是要添加的分钟数。

非常感谢你的帮助。

2 个答案:

答案 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;
}