У меня проблема с одним полем БД. С этим кодом:
$expireMonth = Mage::getStoreConfig('points_options/config_points/expiration_period', Mage::app()->getStore()->getId());
if (!is_null($expireMonth) && ($expireMonth > 0)) {
$expireDate = date("Y-m-d H:i:s", strtotime("+" . $expireMonth . " month"));
} else {
$expireDate = NULL;
}
//die($expireDate);
//store in points history table
$this->_pointsModel->setCustomerId($this->_customer->getId())
->setOrdersId('welcome')
->setPointsPending($pointsForNewCustomer)
->setPointsComment(Mage::helper('points')->__('welcome points'))
->setDateAdded(date('Y-m-d H:i:s'))
->setPointsStatus(2)//confirmed
->setPointsType('WE')
->setStoreId(Mage::app()->getStore()->getId())
->setExpireDate($expireDate)
->save();
Все поля сохраняются в таблице, кроме expire_date
. Если я раскомментирую die($expireData)
, я увижу правильное значение, например, 2012-01-13 13:21:12. Поле определяется как:
`expire_date` datetime NULL
Есть мысли?
edit: Решение:
$expireDate = date("Y-m-d H:i:s", strtotime("+" . $expireMonth . " months"));
Проверьте "s" в моем выражении strtotime.