【问题标题】:create custom collection in magento在 magento 中创建自定义集合
【发布时间】:2014-03-12 10:32:12
【问题描述】:

我们有一个包含交货日期的表格,我想将其添加到销售/订单/网格中的 adminhtml。 我遇到的问题是左连接示例对我不起作用并且我没有选择。

Mage/Adminhtml/Block/Sales/Order/Grid.php

我现在尝试的方法是在 _prepareCollection() 中创建自定义查询

    $resource = Mage::getSingleton('core/resource');
    $readConnection = $resource->getConnection('core_read');

    $query = 'SELECT * FROM mage_sales_flat_order_grid
              left join mage_aw_deliverydate_delivery
              on mage_sales_flat_order_grid.entity_id =  
              mage_aw_deliverydate_delivery.order_id';

    $collection = $readConnection->fetchAll($query);

   //$collection = Mage::getResourceModel($this->_getCollectionClass());
   //$this->setCollection($collection);
   return parent::_prepareCollection();

然后我在 _prepareColumns() 中添加此列代码

    $this->addColumn('delivery_date', array(
        'header' => 'delivery_date',
        'index' => 'delivery_date',
        'type' => 'datetime',
        'width' => '100px',
    ));

当我查看后台的订单网格时,我什至没有看到新列。

感谢任何帮助!

【问题讨论】:

  • 您想将 mage_aw_deliverydate_delivery 添加到销售网格表中
  • 请查看答案

标签: magento collections adminhtml


【解决方案1】:

如果要添加anthor表

protected function _prepareCollection()
    {
        $collection = Mage::getResourceModel($this->_getCollectionClass());

       $collection->getSelect()->joinLeft('aw_deliverydate_delivery', 'main_table.entity_id = aw_deliverydate_delivery.order_id',array('*' ) );
        $this->setCollection($collection);
        return parent::_prepareCollection();
    }

以及 _prepareColumns() 中的以下代码

 $this->addColumn('aw_deliverydate_delivery', array(
            'header' => Mage::helper('sales')->__('Delivery Date '),
            'index' => 'aw_deliverydate_delivery',
            'type' => 'datetime',
            'width' => '100px',

        ));

【讨论】:

  • 我试过了,但没有结果,没有添加列,也没有错误
  • 我没有收到任何错误,页面就像没有任何变化一样加载。当我打印集合并插入到 sql 中时,它可以工作并且我看到了 delivery_date 列
  • 非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-17
  • 1970-01-01
  • 2011-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多