Php Magento 1.6:在资源模型中使用MySQL日期时间字段

Php Magento 1.6:在资源模型中使用MySQL日期时间字段,php,mysql,magento,Php,Mysql,Magento,我已经设置了一个数据库表,其中有一个名为“release_date”的DATETIME字段,模型/资源模型似乎运行良好。但是,我想检索“release_date”并将其设置为Zend_date对象。我还想确保它总是以UTC的形式存储和检索 您对我如何做到这一点有什么建议,或者可能有更好的解决方案吗?您可以在资源模型中处理它,例如: protected function _beforeSave(Mage_Core_Model_Abstract $object) { ... $dat

我已经设置了一个数据库表,其中有一个名为“release_date”的DATETIME字段,模型/资源模型似乎运行良好。但是,我想检索“release_date”并将其设置为Zend_date对象。我还想确保它总是以UTC的形式存储和检索


您对我如何做到这一点有什么建议,或者可能有更好的解决方案吗?

您可以在资源模型中处理它,例如:

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()似乎不会在资源模型上调用。嗯,您可以在资源集合模型的适当方法中执行相同的操作。我确实找到了集合的_afterLoadData()方法,在该方法中,我可以循环遍历所有模型并单独加载它们。这似乎效率很低。因此,我最终在模型上实现了getReleaseDate()方法,而不是在资源模型上实现了_afterLoad()。