4
我已經建立了一個名爲「release_date」的DATETIME字段的數據庫表,並且模型/資源模型似乎工作正常。但是,我想檢索並將「release_date」設置爲Zend_Date對象。我也想確保它始終以UTC格式存儲和檢索。Magento 1.6:使用MySQL日期時間字段與資源模型
對於我如何做到這一點,或者是一個更好的解決方案,你有什麼建議嗎?
我已經建立了一個名爲「release_date」的DATETIME字段的數據庫表,並且模型/資源模型似乎工作正常。但是,我想檢索並將「release_date」設置爲Zend_Date對象。我也想確保它始終以UTC格式存儲和檢索。Magento 1.6:使用MySQL日期時間字段與資源模型
對於我如何做到這一點,或者是一個更好的解決方案,你有什麼建議嗎?
您可以在資源模型處理它,像:
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);
...
}
謝謝您的回答,它肯定已經讓我在正確的方向。但是,通過集合檢索模型時,似乎並未在資源模型上調用_afterLoad()。 – Vitamin 2012-02-11 20:30:31
嗯,你可以在資源收集模型的適當方法中做同樣的事情。 – Zyava 2012-02-11 21:47:17
我確實找到了集合的_afterLoadData()方法,我可以遍歷所有模型並單獨加載它們。這看起來效率很低。所以我最終在模型上實現了getReleaseDate()方法,而不是資源模型上的_afterLoad()方法。 – Vitamin 2012-02-12 14:21:53