Affects Version/s: None
Fix Version/s: None
Security Level: All
I am creating my own bundle in Sf2 which will be used for third libraries, but I need to provide some simple and complex queries from this.
For simple queries i have no problem because I set the repository with the class from the third library.
Something like this:
$this->repository = $this->em->getRepository($className);
$result = $this->repository
->select('c, d, e')
->where("e.id = :userId")
But when I need complex queries i have to work with the Entity Manager instead of working with the Repository. So tables are named as MyBundle (Group), but not how the third library named (sf_group). As a consequence the SQL throws an error saying that my table does not exist.
This is how I am trying to retrieve:
$query = $this->em->createQuery("SELECT p FROM Groups p");
I sent the className as the entity to avoid this. Something like:
$query = $this->em->createQuery("SELECT p FROM ".$this->className." p");
However i need a lot of queries with JOINs, so i would have to change every entity name, which is not convenient.
What another way could I implemment this?
Thanks for your help.