Я не нахожу пример здесь, в SO, поэтому я публикую свой вопрос:
У меня есть объект группы, объект магазина и объект транзакции.
В группе много магазинов, и магазин может принадлежать многим группам. В Group.php:
/**
* @ORM\ManyToMany(targetEntity="Shop", inversedBy="groups")
* @ORM\JoinTable(name="group_shop",
* joinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="shop_id", referencedColumnName="id")}
* )
**/
private $shops;
И в Shop.php
/**
* @ORM\ManyToMany(targetEntity="Group", mappedBy="shops")
*/
private $groups;
Затем магазин совершает транзакции. В Transaction.php:
/**
* @ORM\ManyToOne(targetEntity="Shop", inversedBy="transactions")
* @ORM\JoinColumn(name="shop_id", referencedColumnName="id")
* */
private $shop;
И в Shop.php:
/**
* @ORM\OneToMany(targetEntity="Transaction", mappedBy="shop")
**/
private $transactions;
Я хочу запросить все транзакции из группы. Это должно быть очень просто, купите, я ослеп.
Что я имею:
$query4 = $em->createQuery("SELECT t FROM MGFAppBundle:Transaction t
WHERE t.date > :from AND t.date < :to AND t.shop IN (/* HERE I'M STUCK */)")- >setParameters(array(
'from' => $from
'to' => $to
));
Я не знаю, правильный ли это подход или... ну, мне довольно сложно получить dql.
Как мне написать этот запрос dql?
Заранее спасибо.