我在这里找不到示例,所以我发布了我的问题:
我有一个组实体、一个商店实体和一个交易实体。
一个集团有很多店铺,一个店铺可以属于多个集团。在 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 查询?
提前致谢。