簡體   English   中英

Prestashop-列表視圖過濾器

[英]Prestashop - List view filter

我在模塊的列表視圖中插入另一列,並使用getList函數插入值,我修改了sql以在renderList函數中進行過濾,但無法在where子句中使用別名。

我該如何解決?

我得到的錯誤是下一個:

Uncaught Unknown column 'product_supplier_name' in 'where clause'<br /><br />
SELECT SQL_CALC_FOUND_ROWS a.* , s.name AS product_supplier_name FROM ps_supplier_bill a LEFT JOIN ps_supplier s ON s.id_supplier = a.id_product_supplier WHERE 1 AND product_supplier_name LIKE '%fa%' ORDER BY product_supplier_name asc LIMIT 0,50

正確的查詢應為:

SELECT SQL_CALC_FOUND_ROWS a.* , s.`name` AS product_supplier_name FROM `ps_supplier_bill` a LEFT JOIN `ps_supplier` s ON s.`id_supplier` = a.`id_product_supplier` WHERE 1 AND s.`name` LIKE '%fa%' ORDER BY s.`name` asc LIMIT 0,50

不可能在WHERE中直接使用別名,因為按時間順序,WHERE發生在SELECT之前,而SELECT始終是執行鏈中的最后一步。 參考

從MySQL文檔:

標准SQL不允許在WHERE子句中引用列別名。 之所以施加此限制,是因為在評估WHERE子句時,可能尚未確定列值。

MySQL文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM