php - Doctrine order by causing Uncaught exception -
the following code causing uncaught exception:
class visual
echo(produtocontroller::listaprodutovitrinefiltroordenadopelomenor("tv", "nome", "precodevenda", "asc"));
class controller
$produtos = daogenerico::findbystringorderby("produto", $tipopesquisa, $nome, $parametro, $ordem);
dao
public static function findbystringorderby($classname, $field, $string, $order, $orderparam){ $bd = new bd(); $bd->conectar(); $result = $bd->getentitymanager()->getrepository($classname)->createquerybuilder('e') ->where('e.'.$field.' :'.$field) ->setparameter($field, '%'.$string.'%') ->orderby($order, $orderparam) ->getquery() ->getresult(); return $result; }
error:
fatal error: uncaught exception 'doctrine\orm\query\queryexception' message 'select e produto e e.nome :nome order precodevenda asc' in c:\xampp\htdocs\trabalhoa2\vendor\doctrine\orm\lib\doctrine\orm\query\queryexception.php:41 stack trace: #0 c:\xampp\htdocs\trabalhoa2\vendor\doctrine\orm\lib\doctrine\orm\query\parser.php(483): doctrine\orm\query\queryexception::dqlerror('select e p...') #1 c:\xampp\htdocs\trabalhoa2\vendor\doctrine\orm\lib\doctrine\orm\query\parser.php(708): doctrine\orm\query\parser->semanticalerror(''precodevenda' ...', array) #2 c:\xampp\htdocs\trabalhoa2\vendor\doctrine\orm\lib\doctrine\orm\query\parser.php(283): doctrine\orm\query\parser->processdeferredresultvariables() #3 c:\xampp\htdocs\trabalhoa2\vendor\doctrine\orm\lib\doctrine\orm\query\parser.php(351): doctrine\orm\query\parser->getast() #4 c:\xampp\htdocs\trabalhoa2\vendor\doctrine\orm\lib\doctrine\orm\query.php(281): doctrine\orm\query\parser->parse() #5 c:\xampp\htdocs\trabalhoa2\vendor\doctrine\orm\lib\doctri in c:\xampp\htdocs\trabalhoa2\vendor\doctrine\orm\lib\doctrine\orm\query\queryexception.php on line 63
somebody can help?
seems entity alias 'e' missing in front of order column 'precodevenda'. try replacing:
->orderby($order, $orderparam)
with
->orderby('e.'.$order, $orderparam)
Comments
Post a Comment