I'm trying to Import the product reviews, into my new magento site. For that When I create product review programmatically, I can't set my own date for createdAt field of product review.
When I'm looking into the core file, following function in app/code/core/Mage/Review/Model/Resource/Review.php set the created at date by itself
protected function _beforeSave(Mage_Core_Model_Abstract $object)
{
if (!$object->getId()) {
$object->setCreatedAt(Mage::getSingleton('core/date')->gmtDate());
}
if ($object->hasData('stores') && is_array($object->getStores())) {
$stores = $object->getStores();
$stores[] = 0;
$object->setStores($stores);
} elseif ($object->hasData('stores')) {
$object->setStores(array($object->getStores(), 0));
}
return $this;
}
I'm running following code to create review programmatically
<?php
ini_set('memory_limit', '128M');
require_once 'app/Mage.php';
Mage::app();
Mage::app()->setCurrentStore(1);
$date = gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 2014));
$review = Mage::getModel('review/review');
$review->setReviewId($review->getId());
$review->setEntityPkValue(1);//product id
$review->setStatusId(1);
$review->setTitle("mytitle");
$review->setDetail("mydetail");
$review->setEntityId(1);
$review->setStoreId(Mage::app()->getStore()->getId()); //storeview
$review->setStatusId(1); //approved
$review->setCustomerId(1);//null is for administrator
$review->setNickname("Menickname");
$review->setCreatedAt($date);
$review->setStores(array(1,3));
$review->save();
$review->aggregate();
How Can I set a date by myself? Is there any way?