Magento2 来自联接表的自定义列未知
我为我的网格表创建了一个resourcemodel,其中包含一个连接2个表的自定义查询。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
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'支付']