Magento 1.7 - 在网格中加入日期列

时间:2013-01-08 12:30:49

标签: magento magento-1.7

我需要一个显示订单商品的网格。

我使用集合sales/order_item_collection

我将此加入sales/orders以获取订单日期

$collection->getSelect()->join( 
           array('orders_alias' => $resource->getTableName('sales/order'))
           , 'main_table.order_id = orders_alias.entity_id'
           , array('orders_alias.increment_id', 'order_date' => 'orders_alias.created_at')
           , null);

添加列定义:

$this->addColumn('order_date',
        array(
            'header'=> $this->__('Date'),
            'align' =>'left',
            'width' => '100px',
            'index' => 'order_date',
            'type' => 'date'
        )
    );

我可以在网格中看到日期。请参见屏幕截图http://imageshack.us/photo/my-images/252/scr027.jpg/

如果我使用过滤器框并尝试过滤日期,我会收到此错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'order_date' in 'where clause'

如果我使用此列索引:

orders_alias.created_at

我得到一个空列。

在日期列中使用过滤器需要更改什么?


@KalpeshMehta的解决方案有效:

        $this->addColumn('order_date',
        array(
            'header'=> $this->__('Date'),
            'align' =>'left',
            'width' => '100px',
            'index' => 'order_date',
            'type' => 'date',
            'filter_index' => 'orders_alias.created_at'
        )
    );

1 个答案:

答案 0 :(得分:2)

@Guus,添加我的评论作为答案,以便它可以帮助其他人也面临同样的问题。

要使用过滤器,您还应该使用filter_indexindex