У меня есть две таблицы: Place
и Description
ИНЕКЕ на соотношении
Место может, содержит 0, 1 или более описаний.
Так Место сущности, у меня есть поле описания:
/**
* @ORM\OneToMany(targetEntity="Description", mappedBy="place")
*/
private $descriptions;
И в Описание объект У меня есть поле Место:
/**
* @ORM\ManyToOne(targetEntity="Place", inversedBy="descriptions")
*/
private $place;
Я хотел бы использовать QueryBuilder для получения описаний на основе поля Place. Что-то вроде
SELECT * FROM Description WHERE Place.id = 439483
Я думаю, я должен использовать join, но он также возвращает столбец «Места». Как я могу получить описания, основанные на условии Place?
Благодаря
EDIT: Вот что я пытался:
$em = $this->getEntityManager();
$placeRepository = $em->getRepository("AppBundle:Place");
$q = $placeRepository->createQueryBuilder('p')
->select("d")
->innerJoin("p.descriptions", "d")
->where("p.id = 439483");
$q = $q->getQuery();
$res = $q->getResult();
return $res;
Но она возвращает место и описания, я просто хочу описания.
Покажите нам вашу конструкцию QueryBuilder, пожалуйста. – DonCallisto
[Doctrine createQueryBuilder и createQuery примеры] (http://www.inanzzz.com/index.php/post/znlh/doctrine-createquerybuilder-and-createuery-examples) – BentCoder