1
列名不明确的where子句冲突
对此有一点背景。我想扩展销售订单导出功能(通过网格)以具有更多列。我创建了一个模块,该模块添加了用于导出的新网格以及扩展原始模型的新集合模型。这使用_beforeLoad()函数,因此我可以联接所需的表。 我遇到的麻烦是,当添加了来自网格的过滤器(increment_id,订购日期等)时,此添加的where子句没有为表添加前缀,并且我遇到了列名不明确的问题。例如,在crement_id上,where子句中存在问题: SELECT `main_table`.*, `sales`.`total_qty_ordered`, `sales`.`entity_id` AS `order_id`, `sagepay`.`vendor_tx_code` FROM `sales_flat_order_grid` AS `main_table` LEFT JOIN `sales_flat_order` AS `sales` ON main_table.increment_id = sales.increment_id LEFT JOIN `sagepaysuite_transaction` AS `sagepay` ON order_id = sagepay.order_id WHERE (increment_id LIKE '%100000261%') GROUP BY `main_table`.`entity_id` 在连接到_addColumnFilterToCollection()函数中的其他表之前,添加了where子句。 protected function _addColumnFilterToCollection($column) { if ($this->getCollection()) { $field = ( $column->getFilterIndex() …