Doctrine2加入标准



我正在将SF2.1与Doctrine2

一起使用

我有这样的模型:

第1条。 * articleCategory * .1类别

在我的类别实体中,我想获取与$ this,orderby agrats.ed and interict.prent.pluply.plye true的所有文章,

我可以做:

$articles = array();
foreach($this->getArticleCategory() as $art_cat){
    $article = $art_cat->getArticle();
    if($article->isPublished()) $articles[] = $article;
}

,但它不会处理订单,无论如何看起来太重了...

学说收集的标准更加适当,但我看不到如何处理关系表,

我不想在存储库中这样做,因为它涉及特定类别,

对我有什么提示?

如果文章有:

/**
* @ORMManyToMany(targetEntity="Category", inversedBy="articles")
*/
private $categories;

和类别具有:

/**
* @ORMManyToMany(targetEntity="Article", mappedBy="categories")
*/
private $articles;

(假设有一个Artend_category加入表,根据学说标准)

然后:

$articles = $em->getRepository('AcmeBundle:Article')
        ->createQueryBuilder('a')
        ->join('a.categories', 'c')
        ->andWhere('c.id=:category_id')
        ->setParameter('category_id', $categoryId)
        ->andWhere('a.published=TRUE')
        ->orderBy('a.created')
        ->getQuery()->getResult();

将带来由$ cattoryId确定的类别的已发表文章,按创建日期排序。

相关内容

  • 没有找到相关文章

最新更新