【发布时间】:2016-05-23 19:52:40
【问题描述】:
我正在努力通过实体方法将数据保存到我的数据库中,但我不确定我缺少什么。
我有一个方法,它为我提供了一个虚拟字段,显示报价还剩多少时间。这适用于显示值。我想扩展它,以便当剩余时间为 0 时,状态字段从 1 更改为 4 以指示它已过期。
这是我目前所拥有的,它似乎可以工作,但状态值在设置后似乎没有保存。
此功能用于显示剩余时间
protected function _getRemaining(){
if($this->status === 1 || $this->status === 'Live'){
// Get various timestamps
$now = strtotime(Time::now());
$created = strtotime($this->created);
$duration = $this->duration;
// Get the time remaining
$remaining = (($created + $duration) - $now);
// If below 0 set the value to 0
if($remaining < 0){
$remaining = 0;
$this->_setStatusAuto(4);
}
} else {
$remaining = 0;
}
return $remaining;
}
这是我试图更改状态值的地方。它返回正确的值,但数据库值没有改变!
protected function _setStatusAuto($level){
$this->set('status', $level);
return $this->status;
}
任何朝着正确方向轻推都会很棒,谢谢。
【问题讨论】:
标签: php cakephp model-view-controller cakephp-3.0