1

我有一个具有“类别”属性的实体图像。Categories 是 Doctrine 的 ArrayCollection 的一个实例,拥有不同的 Category 对象。

我现在想获取包含 Category 对象“main”的所有 Image 对象。

使用普通属性,这看起来像这样:

$repository->findBy(array('category' => 'main'));

这是否也可以通过 Array 属性实现,还是我必须在 Category 端获取图像?

问候!

4

1 回答 1

1

->findBy()方法仅适用于关系的拥有方。

您还可以在存储库中创建自定义方法:

public function findByCategoryName($categoryName)
{
    return $this
        ->createQueryBuilder('image')
        ->innerJoin('image.categories', 'category')
        ->where('category.name = :categoryName')
        ->setParameter('categoryName', $categoryName)
        ->getQuery()
        ->getResult()
    ;
}
于 2012-04-29T19:32:24.787 回答