2011-06-28 96 views
0
public function updateAuction($id) 
{ 
    $AuctionsTable = Doctrine_Core::getTable('auctions'); 

    $auction = $AuctionsTable->find($id); 

    $auction->ends_at += 10; 

    $auction->save(); 
} 

我正在使用Doctrine從數據庫中獲取記錄。從數據庫中獲取「日期」類型並添加秒數

我需要增加此記錄ends_at列上的秒數,這是一個日期類型。

+=當然沒有工作。什麼是最快的方式來添加,比方說,10秒到ends_at變量?並處理了可能出現的所有其他麻煩(59 + 10 = 69秒)。

也許我應該用mysql的addtime()函數?但是,這是與教條實施?教義上沒有找到有關addtime()的任何內容。

回答

1
  1. 從DB轉換價值爲DateTime object在PHP
  2. 使用DateTime::add function添加秒
  3. 把結果值回DB
+0

修正了它!非常感謝你! ;)順便說一句,有點麻煩,因爲我不得不使用$ d-> format('Y-m-d H:i:s');爲了得到絃樂版本,我可以把弦值分配給$ auction-> ends_at。 – Tool

0

試試這個:

$sec = new Zend_Date($auction->ends_at, Zend_Date::SECOND); 
$auction->ends_at = $sec->addSecond(10); 
$auction->save(); 
+0

當我添加Zend_Date行時,我在螢火蟲中找到「找不到元素」。 – Tool

+0

我編輯第一行!請嘗試! ;) – JellyBelly

+0

嗯,但我沒有使用zend框架。我正在使用Symfony。沒有那個班。 – Tool

相關問題