0

我想在我的应用程序中创建一个倒计时,列“ end_date”是 DATETIME 格式。如果我使用:

echo $thing['table_name']['end_date']

输出是(今天的日期):

2012-08-16

我希望输出在哪里:

3 days left

现在我该怎么做?我将在很多不同的视图中使用它,我找到了本教程,但我不得不一次又一次地放置这段代码。我想用更多的面向对象的方法来解决这个问题。是否可以将其直接放入模型中或类似的东西中?

任何方向都会有很大帮助。:)

4

1 回答 1

2

在这种情况下,您应该使用 virtualFields

class Thing {
    var $virtualFields = array( 
    'timeleft' => "IF(Thing.end_date IS NOT NULL AND Thing.end_date <> '0000-00-00',CONCAT(DATEDIFF(Thing.end_date,CURDATE()),' days left'),'-')"
    ); 
}

现在你会得到这个字段echo $thing['table_name']['timeleft']

于 2012-08-13T06:57:15.243 回答