Sonata user - createQuery requete recursive
Bonjour,
J'aimerai exécuter cette requête pour récupérer la liste des utilisateurs:
Code:
1 2 3 4 5 6 7
|
$req =
"select *, @pv:=id as id
from `fos_user_user`
join
(select @pv:=1)tmp
where user_id=@pv"; |
Dans la fonction createQuery($context = 'list')
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
public function createQuery($context = 'list')
{
$req =
"select *, @pv:=id as id
from `fos_user_user`
join
(select @pv:=1)tmp
where user_id=@pv";
//$em = $this->getConfigurationPool()->getContainer()->get('doctrine')->getManager();
$securityContext = $this->getSecurityContext();
$user = $securityContext->getToken()->getUser();
$query = parent::createQuery($context);
/* $query = parent::createQuery($req); */
/* $query = $em->createQuery($req); */
/*$query->addSelect('@pv:=id')
->join('(select @pv:=1)tmp', ':id')
->andWhere('user_id=@pv');*/
return $query;
} |
Mais impossible d’exécuter la requête :
avec /* $query = parent::createQuery($req); */ : rien ne se passe.
avec /* $query = $em->createQuery($req); */ :
Code:
1 2
|
Catchable Fatal Error: Argument 1 passed to Sonata\AdminBundle\Datagrid\Datagrid::__construct() must implement interface Sonata\AdminBundle\Datagrid\ProxyQueryInterface |
avec /*$query = parent::createQuery($context); $query->addSelect('@pv:=id') */ :
Code:
1 2
|
An exception has been thrown during the rendering of a template ("[Syntax Error] line 0, col 10: Error: Expected IdentificationVariable | ScalarExpression | AggregateExpression | FunctionDeclaration | PartialObjectExpression | "(" Subselect ")" | CaseExpression, got '@'") in SonataAdminBundle:CRUD:base_list.html.twig at line 29. |