我有一个具有“类别”属性的实体图像。Categories 是 Doctrine 的 ArrayCollection 的一个实例,拥有不同的 Category 对象。
我现在想获取包含 Category 对象“main”的所有 Image 对象。
使用普通属性,这看起来像这样:
$repository->findBy(array('category' => 'main'));
这是否也可以通过 Array 属性实现,还是我必须在 Category 端获取图像?
问候!
我有一个具有“类别”属性的实体图像。Categories 是 Doctrine 的 ArrayCollection 的一个实例,拥有不同的 Category 对象。
我现在想获取包含 Category 对象“main”的所有 Image 对象。
使用普通属性,这看起来像这样:
$repository->findBy(array('category' => 'main'));
这是否也可以通过 Array 属性实现,还是我必须在 Category 端获取图像?
问候!
该->findBy()
方法仅适用于关系的拥有方。
您还可以在存储库中创建自定义方法:
public function findByCategoryName($categoryName)
{
return $this
->createQueryBuilder('image')
->innerJoin('image.categories', 'category')
->where('category.name = :categoryName')
->setParameter('categoryName', $categoryName)
->getQuery()
->getResult()
;
}