2012-04-29 2 views
1

У меня есть объект Изображение, которое имеет свойство "categories". Категории - это экземпляр массива Doctrine ArrayCollection и содержит объекты категории.Доктрина: Получить объекты по свойству в массиве

Теперь я хочу получить все объекты изображения, содержащие объект Category «main».

С нормальными свойствами это выглядит следующим образом:

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

Это также возможно со свойствами массива или у меня есть для извлечения изображений по стороне категории?

С уважением!

ответ

1

Метод ->findBy() работает только на стороне отношений.

Вы также можете создать собственный метод в repostiory:

public function findByCategoryName($categoryName) 
{ 
    return $this 
     ->createQueryBuilder('image') 
     ->innerJoin('image.categories', 'category') 
     ->where('category.name = :categoryName') 
     ->setParameter('categoryName', $categoryName) 
     ->getQuery() 
     ->getResult() 
    ; 
} 
+0

Привет, вы самостоятельно придерживаться инвертирования или владеющей стороны? Или вы не оставите отношение ManyToMany к категории <->? – bodokaiser

Смежные вопросы