Magento2 来自联接表的自定义列未知

Magento2 来自联接表的自定义列未知,magento2,magento-2.3,magento-2.0,Magento2,Magento 2.3,Magento 2.0,我为我的网格表创建了一个resourcemodel,其中包含一个连接2个表的自定义查询。sales\u order和sales\u payment\u交易被合并以显示具有付款的所有记录。下面是我的问题 protected function _initSelect() { parent::_initSelect(); $this->getSelect() ->joinLeft( ['spt' => $this->get

我为我的网格表创建了一个resourcemodel,其中包含一个连接2个表的自定义查询。
sales\u order
sales\u payment\u交易
被合并以显示具有付款的所有记录。下面是我的问题

protected function _initSelect()
{
    parent::_initSelect();
    $this->getSelect()
        ->joinLeft(
            ['spt' => $this->getTable('sales_payment_transaction')],
            'main_table.entity_id = spt.order_id',
            ['spt.created_at as date_paid']
        )
        ->where('main_table.status in ("complete", "processing")')
        ->order('main_table.entity_id DESC');
    
    $this->addFilterToMap('created_at', 'main_table.created_at');

    return $this;
}
正如您在我的自定义栏中所看到的,我添加了一个新栏,即在创建的、名称为date\u paid的标准普尔。此新栏用于日期筛选。因此,每当我按日期筛选订单时,都会使用
date\u paid
作为参数。现在在查看日志时,我发现了这个错误

SELECT COUNT(*) FROM `sales_order` AS `main_table`
LEFT JOIN `sales_payment_transaction` AS `spt` 
ON main_table.entity_id = spt.order_id 
WHERE (main_table.status in (\"complete\", \"processing\")) 
   AND (`date_paid` >= '2021-01-03 00:00:00') 
   AND (`date_paid` <= '2021-10-03 22:59:59')

/// Column not found: 1054 Unknown column 'date_paid' in 'where clause'
从'sales\u order'中选择COUNT(*)作为'main\u table'`
将'sales\u payment\u transaction'作为'spt'左键联接
在main_table.entity_id=spt.order_id上
其中(主表状态为(\'complete\',\'processing\'))
和('date_paid`>='2021-01-03 00:00:00')

而且(`date\u paid`看起来您的报价在这里被取消了:

[“标的物在付款日期创建”]

应该是:

['spt.在'as'日期创建'U'支付']