1
DBの1つのフィールドに問題があります。このコードでは:Magento、1 dbフィールドは保存されません。
$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
編集:ソリューションです:私のstrtotime式の "s" を
$expireDate = date("Y-m-d H:i:s", strtotime("+" . $expireMonth . " months"));
チェックしてください。
OMG !!!私のstrtotime式に「s」がないことが判明した場合、「月」ではなく「月」でなければなりません。あなたの周りを参照してください) ありがとうのclockworkgeek; いくつかのポイントがあり、ここで、あなたの答えは本当に解決策ではないですが、あなたは私がそれabouot考えさせ、それはそれを見つけるために私を助けたので、 – OSdave