我需要将 SQL 查询转换为 Doctrine Query Builder
i need convert SQL query to Doctrine Query Builder
我有 ManyToMany 关系,我数据库中的表是:
- 文章 : (id,titre,description,category,createAt)
- article_groupe_auteur: (article_id,groupe_auteur_id)
- groupe_auteur : (id,nom,prenom,address,institution,city)
我需要检索文章的作者。
Sql 查询
use RevueProject;
select nom_auteur,prenom_auteur,nom_ins,adresse_ins from groupe_auteur ga
INNER JOIN
article_groupe_auteur aga on groupe_auteur.id = aga.groupe_auteur_id
INNER JOIN article a on aga.article_id = a.id
where a.id=21;
Dql 查询
public function SelectArticleAuthors2(int $Id){
return $this->createQueryBuilder('GA');
->innerJoin('article_groupe_auteur','aga', Join::WITH , 'aga = ga.groupe_auteur_id')
->innerJoin('article','a',Join::WITH , 'a = aga.article_id')
->where('aga.article_id = : Id')
->setParameter('Id', $Id);
->getQuery()->getResult()
}
这就是我如何通过 ManyToMany
关系让作者依赖于指定文章
class GroupeAuteurRepository extends ServiceEntityRepository
{
/**
* @return mixed
*/
public function SelectArticleAuthors(int $id)
{
// ga (alias) : GroupeAuteur Entity
return $this->createQueryBuilder('ga')
// articles (collection)
->innerJoin('ga.articles','a','WITH','a.id=:id')
->setParameter('id', $id)
->getQuery()->getResult();
}
}
我有 ManyToMany 关系,我数据库中的表是:
- 文章 : (id,titre,description,category,createAt)
- article_groupe_auteur: (article_id,groupe_auteur_id)
- groupe_auteur : (id,nom,prenom,address,institution,city)
我需要检索文章的作者。
Sql 查询
use RevueProject;
select nom_auteur,prenom_auteur,nom_ins,adresse_ins from groupe_auteur ga
INNER JOIN
article_groupe_auteur aga on groupe_auteur.id = aga.groupe_auteur_id
INNER JOIN article a on aga.article_id = a.id
where a.id=21;
Dql 查询
public function SelectArticleAuthors2(int $Id){
return $this->createQueryBuilder('GA');
->innerJoin('article_groupe_auteur','aga', Join::WITH , 'aga = ga.groupe_auteur_id')
->innerJoin('article','a',Join::WITH , 'a = aga.article_id')
->where('aga.article_id = : Id')
->setParameter('Id', $Id);
->getQuery()->getResult()
}
这就是我如何通过 ManyToMany
关系让作者依赖于指定文章class GroupeAuteurRepository extends ServiceEntityRepository
{
/**
* @return mixed
*/
public function SelectArticleAuthors(int $id)
{
// ga (alias) : GroupeAuteur Entity
return $this->createQueryBuilder('ga')
// articles (collection)
->innerJoin('ga.articles','a','WITH','a.id=:id')
->setParameter('id', $id)
->getQuery()->getResult();
}
}