0

アプリでカウントダウンのようなものを作成したいのですが、列' end_date'はDATETIME形式です。私が使用する場合:

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

出力は(今日の日付):

2012-08-16

ここで、出力を次のようにします。

3 days left

今、どうすればこれを行うことができますか?これをさまざまなビューで使用します。このチュートリアルを見つけましたが、このコードを何度も配置する必要があります。もっとOOPアプローチでこれを解決したいです。これをモデルに直接入れることはできますか、それともそのようなものにすることはできますか?

どんな方向でも大いに役立つでしょう。:)

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 に答える