【发布时间】:2018-02-22 17:23:30
【问题描述】:
我需要获取类别 ID 为 join ManyToMany 的文章列表,我尝试了一整天,但它不起作用。使用 dql 查询或任何帮助我绝望。 我想获取具有多对多关系的类别 ID 的文章列表
/**
*
* @ORM\ManyToMany(targetEntity="Categorie",mappedBy="cat")
* @ORM\JoinTable(name="article_categorie",
* joinColumns={@ORM\JoinColumn(name="article_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="categorie_id", referencedColumnName="id",onDelete="CASCADE")}
* )
*
*/
private $categorie;
我的第一次尝试
$qp=$this->createQueryBuilder('p');
$qp->select("p")
->from(Categorie::class,"c")
->where($qp->expr()->eq("c.id","$id"))->setMaxResults(3)
->getQuery()->execute();
return $qp;
我的第二次尝试
$em = $this->getEntityManager();
$query = $em->createQuery("SELECT article
FROM article t
INNER JOIN article_categorie jt ON(t.id = jt.article_id)
INNER JOIN categorie g ON(g.id = jt.categorie_id)
WHERE_id g.id=9");return $query->getResult();
我的第三次尝试
$this->createQueryBuilder()
->select('s')
->from('ArticleBundle:Categorie', 's')
->innerJoin('s.Category c ON c.category_id = s.')
->where('s.name = :superCategoryName')
->setParameter('superCategoryName', $superCategoryName)
->getQuery()
->getResult();
没有用
【问题讨论】:
-
你尝试了什么?
-
因为这是我的教育项目,我非常需要它。
-
请说明您期望得到什么样的结果以及得到的结果。现在有点不清楚。
-
我想获取获得特定类别的文章列表,例如(类别 id 1)
标签: php symfony doctrine-orm orm many-to-many