2012-02-10 58 views
4

我已經建立了一個名爲「release_date」的DATETIME字段的數據庫表,並且模型/資源模型似乎工作正常。但是,我想檢索並將「release_date」設置爲Zend_Date對象。我也想確保它始終以UTC格式存儲和檢索。Magento 1.6:使用MySQL日期時間字段與資源模型

對於我如何做到這一點,或者是一個更好的解決方案,你有什麼建議嗎?

回答

3

您可以在資源模型處理它,像:

protected function _beforeSave(Mage_Core_Model_Abstract $object) 
{ 
    ... 
    $date = $object->getReleaseDate(); 
    // convert from your server/client timezone to UTC if needed 
    $object->setReleaseDate($this->formatDate($date)); 
    ... 
} 

protected function _afterLoad(Mage_Core_Model_Abstract $object) 
{ 
    ... 
    $date = new Zend_Date($object->getReleaseDate()); 
    // convert to your server/client timezone from UTC if needed 
    $object->setReleaseDate($date); 
    ... 
} 
+0

謝謝您的回答,它肯定已經讓我在正確的方向。但是,通過集合檢索模型時,似乎並未在資源模型上調用_afterLoad()。 – Vitamin 2012-02-11 20:30:31

+0

嗯,你可以在資源收集模型的適當方法中做同樣的事情。 – Zyava 2012-02-11 21:47:17

+1

我確實找到了集合的_afterLoadData()方法,我可以遍歷所有模型並單獨加載它們。這看起來效率很低。所以我最終在模型上實現了getReleaseDate()方法,而不是資源模型上的_afterLoad()方法。 – Vitamin 2012-02-12 14:21:53

相關問題