У меня есть приложение Zend Framework 1.11.11, использующее доктрину 2.1 (через bisna).
У меня есть объекты Article и Category.Каждая статья может быть связана со многими категориями, каждая категория может содержать много статей.
Я создал следующую ассоциацию в каждой из них:
Статья:
/**
* @ManyToMany(targetEntity="Category", inversedBy="categoryArticles")
* @JoinTable
* (
* name="categories_articles",
* joinColumns={@JoinColumn(name="article_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="category_id", referencedColumnName="id")}
* )
* @var \Doctrine\Common\Collections\ArrayCollection
*/
protected $categories;
Категория:
/**
* @ManyToMany(targetEntity="Article", mappedBy="categories", cascade={"persist"})
* @var ArrayCollection
*/
private $categoryArticles;
Как получить все статьи, принадлежащие данному массиву категорий?
Например, я хочу получить все статьи, связанные с идентификаторами категорий 1, 5и 20.
Стандартный способ хранилища ($ this-> findBy (array ('Categories' => array (1, 5, 20)))) не работает, способ dql не работает (согласно попыткам, которые я сделал), и я не могу думать о другом пути.
Помощь будет высоко ценится.