symfony - How to get doctrine2 table alias? -
i want create method in doctrine2 repository class takes querybuilder , adds clauses, 1 of inner join.
how can find out table alias used instantiate querybuilder? discoverable or should convention across codebase (and therefore potential source of bugs)?
my client code is:
public function getpasswordaction($id) { $user = $this->get('security.context')->gettoken()->getuser(); $repository = $this->getdoctrine() ->getrepository('tenkpwlockerbundle:password'); $query = $repository->createquerybuilder('p') ->where('id = :id') ->setparameter('id', $id); $query = $repository->usercanreadrestriction($query, $user); ...
and repository class contains:
public function usercanreadrestriction(\doctrine\orm\querybuilder $builder, \tenk\userbundle\entity\user $user) { // can 'p' from? return $builder->innerjoin('p.shares', 's') ->where('createdby = :creator') ->orwhere('s.touser = :toid') ->setparameters(array('creator' => $user, 'touser' => $user)); }
in fact, in above code, how can confirm querybuilder working password entity @ all?
you can retrive select
part of querybuilder calling getdqlpart('select')
method.
more information here.
then, how doctrine parse select part here.
you can same know if table associated repository called , alias.
Comments
Post a Comment