/ / Prestashop - Филтър за изглед на списък - mysql, where, alias, prestashop, клауза

Prestashop - Филтър за показване на списъци - mysql, където, alias, prestashop, клауза

Аз вмъкна друга колона в списъка списък на моя модул вмъкване на стойности с getList функция, аз промених sql да се филтрира в функцията renderList, но не мога да "" използва псевдоним в където клауза.

Как мога да го поправя?

Грешката, която получих, е следната:

Uncaught Unknown column "product_supplier_name" in "where clause"<br /><br />
 SELECT SQL_CALC_FOUND_ROWS a. *, S.име AS product_supplier_name FROM ps_supplier_bill a LEFT JOIN ps_supplier ON Включено s.id_supplier = a.id_product_supplier WHERE 1 И product_supplier_name LIKE "% fa%" ORDER

Отговори:

0 за отговор № 1

Подходящата заявка трябва да бъде следната:

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, което винаги е последната стъпка в веригата за изпълнение. СЕ ОТНАСЯТ

От документа на MySQL:

Стандартният SQL забранява препратки към псевдоними на колони в клауза WHERE. Това ограничение се налага, защото когато клаузата WHERE е оценена, стойността на колоната може да не е определена.

MySQL док