【发布时间】:2011-12-26 15:39:29
【问题描述】:
我有一个 zend 框架 1.11.11 应用程序,使用教义 2.1(通过 bisna)。
我有一个文章和类别实体。每篇文章可以关联多个分类,每个分类可以容纳多篇文章。
我在其中的每一个中都创建了以下关联:
文章:
/**
* @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;
如何获取属于给定类别数组的所有文章?
例如,我想获取与类别 id 1、5 和 20 关联的所有文章。
标准存储库方式 ($this->findBy(array('categories' => array(1, 5, 20)))) 不起作用,dql 方式不起作用(根据我所做的尝试) 而且我似乎想不出其他方法。
我们将不胜感激。
【问题讨论】:
标签: many-to-many associations doctrine-orm