Symfony2 Doctrine2使用具有second关系的条件获取结果

Symfony2 Doctrine2使用具有second关系的条件获取结果,symfony,doctrine-orm,Symfony,Doctrine Orm,我想问一下,是否有任何简单的方法可以获得具有第二关系条件的数据 在我的控制器中,我得到每个类别实体 public function getProducts() { $criteria = Criteria::create(); $criteria->where(Criteria::expr()->eq('isVisible', true)); $criteria->andWhere(Criteria::expr()->eq('isActiv

我想问一下,是否有任何简单的方法可以获得具有第二关系条件的数据

在我的控制器中,我得到每个类别实体

    public function getProducts()
{
    $criteria = Criteria::create();
    $criteria->where(Criteria::expr()->eq('isVisible', true));
    $criteria->andWhere(Criteria::expr()->eq('isActive', true));

    return $this->products->matching($criteria);
}
每个类别都有很多产品,所以有“一家公司”的关系。 其次,每一个产品都有一个作者,并且有一个关系“manytone”

现在我想得到每一个类别,其中包括活跃的产品和活跃的作者

一类任何产品 产品多作者 产品具有“活动”字段 作者有“活动”字段

在类别实体中获取产品的方法

    public function getProducts()
{
    $criteria = Criteria::create();
    $criteria->where(Criteria::expr()->eq('isVisible', true));
    $criteria->andWhere(Criteria::expr()->eq('isActive', true));

    return $this->products->matching($criteria);
}

调用
getProducts()
时,Doctrine会从数据库中获取所有条目,并选择符合条件的产品。虽然现在可以这样做,但最好使用您的数据库(MySQL?)来选择正确的条目

因此,请改用QueryBuilder。既然你是Symfony,就在一个

我们不是来编写您的代码的,而是来给您一个想法,它可以是这样的:

CategoryRepository.php


我的回答有用吗?喂?我看到你问了很多问题,但几乎没有接受答案。请求帮助而忽视那些花时间在你答案上的人是有点粗鲁的。