php - Doctrine: No alias was set before invoking getRootAlias() error -


my original query is:

select * user u inner join company c on u.company_id = c.id  u.id=2 

and made as:

$em = $this->get('doctrine')->getentitymanager();         $qb = $em->createquerybuilder();          $qb->select('u')             ->from('templatemanager\bundle\documentgeneratorbundle\entity\user u')             ->innerjoin('u.company')             ->where('u.id = ' . $id);         $query = $qb->getquery();         $result = $query->getresult(); 

i 500 following details in log:

[2016-09-27 12:06:34] request.info: matched route "templatemanager_documentgenerator_api_client_find" (parameters: "_controller": "templatemanager\bundle\documentgeneratorbundle\controller\api\clientcontroller::findaction", "id": "2", "_route": "templatemanager_documentgenerator_api_client_find") [] [] 
> [2016-09-27 12:06:34] security.debug: read securitycontext session [] [] 
> [2016-09-27 12:06:34] security.debug: reloading user user provider. [] [] 
> [2016-09-27 12:06:34] security.debug: username "admin" reloaded user provider. [] [] 
> [2016-09-27 12:06:34] request.critical: uncaught php exception runtimeexception: "no alias set before invoking getrootalias()." @ //myproject//vendor/doctrine/orm/lib/doctrine/orm/querybuilder.php line 423 {"exception":"[object] (runtimeexception(code: 0): no alias set before invoking getrootalias(). @ //myproject//vendor/doctrine/orm/lib/doctrine/orm/querybuilder.php:423)"} [] 
> [2016-09-27 12:06:34] security.debug: write securitycontext in session [] []

try add alias on $em->createquerybuilder();

$em->createquerybuilder('u'); 

by way prepare query avoid sql injection

$qb->select('u')   ->from('user', 'u')   ->where('u.id = ?1')   ->orderby('u.name', 'asc')   ->setparameter(1, 100); 

on own project tried , works well:

$em = $this->get('doctrine')->getentitymanager();  $qb = $em->createquerybuilder('u');  $qb->select('u')         ->from('inside\bundle\adminbundle\entity\tadminuser', 'u')         ->innerjoin('u.iduser' , 'myalias')         ->where('u.idadminuser = 2');  $query = $qb->getquery(); $result = $query->getresult(); 

iduser table not id had migration problems :)


Comments

Popular posts from this blog

unity3d - Rotate an object to face an opposite direction -

angular - Is it possible to get native element for formControl? -

javascript - Why jQuery Select box change event is now working? -