Magento admin grid column is ambiguous – filter index
Sometimes, if you use custom collection with join tables:
protected function _prepareCollection()
{
$collection = Mage::getModel('sales/order_item')->getCollection()
;
$collection->getSelect()->join( array('sfo'=>'sales_flat_order'),'sfo.entity_id=main_table.order_id',array('sfo.increment_id', 'sfo.status', 'sfo.shipping_description', 'sfo.base_shipping_amount'));
$collection->getSelect()->join( array('e'=>'catalog_product_entity'), 'main_table.sku = e.sku', array('e.sku'));
$this->setCollection($collection);
return parent::_prepareCollection();
}
you’ll get an error:
‘SQLSTATE[23000]: Integrity constraint violation: 1052 Column ‘created_at’ in where clause is ambiguous’
To avoid that, use this:
$this->addColumn('created_at',
array(
'header'=> Mage::helper('adpreorder')->__('Date'),
'width' => '50px',
'type' => 'date',
'index' => 'created_at',
'filter_index' => 'main_table.created_at'
));