Php 如何在Symfony2控制器中查询从属实体的条令
我在SO中找不到示例,因此我发布了我的问题: 我有一个集团实体、一个商店实体和一个交易实体 一个组有许多商店,一个商店可以属于多个组。在Group.php中:Php 如何在Symfony2控制器中查询从属实体的条令,php,symfony,doctrine,entities,dql,Php,Symfony,Doctrine,Entities,Dql,我在SO中找不到示例,因此我发布了我的问题: 我有一个集团实体、一个商店实体和一个交易实体 一个组有许多商店,一个商店可以属于多个组。在Group.php中: /** * @ORM\ManyToMany(targetEntity="Shop", inversedBy="groups") * @ORM\JoinTable(name="group_shop", * joinColumns={@ORM\JoinColumn(name="group_id", reference
/**
* @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查询
提前感谢。在存储库中执行以下操作:
public function findTransactionsByGroup(GroupInterface $group)
{
return $this->createQueryBuilder('g')
->select('s.transactions')
->leftJoin('g.shops','s')
->where('s.group = :groupid')
->setParameter('groupid', $group->getId())
->getQuery()
->getResult();
}
在存储库中执行以下操作:
public function findTransactionsByGroup(GroupInterface $group)
{
return $this->createQueryBuilder('g')
->select('s.transactions')
->leftJoin('g.shops','s')
->where('s.group = :groupid')
->setParameter('groupid', $group->getId())
->getQuery()
->getResult();
}
谢谢真正的问题要复杂得多,但这让我走了。谢谢。真正的查询要复杂得多,但这让我走了。