ManyToOne on queryBuilder symfony 3



我有 2 个实体FederationPays,实体Federation有一个属性ManyToOne

/**
* @ORMManyToOne(targetEntity="StageAdminBundleEntityPays")
*/
public $nomPays;  

我想使用QueryBuilder构建一个查询,以根据使用该属性$nomPays的搜索获取所有行。

我试过了:

$repository = $this->getDoctrine()->getRepository(Federation::class);
$query = $repository->createQueryBuilder('f')
->leftJoin('StageAdminBundle:Pays', 'fc', 'f.id = fc.id')
->Where('f.nomPays = :value')
->setParameter('value', '%'.$term.'%')
->orderBy('f.nom', 'ASC')
->getQuery();
$federations = $query->getResult();

问题是结果为 0 并且没有显示任何行,但是当我根据实体的另一个属性进行搜索时,会显示结果并且没有错误.

我只想知道是否有我没有注意到的错误。

你的错误在这里'f.id = fc.id'

$repository = $this->getDoctrine()
->getRepository(Federation::class);
$query = $repository->createQueryBuilder('f')
->leftJoin('StageAdminBundle:Pays', 'fc', 'f.nomPays = fc.id')
->where('f.nomPays = :value')
->setParameter('value', '%'.$term.'%')
->orderBy('f.nom', 'ASC')
->getQuery();
$federations = $query->getResult();

相关内容

  • 没有找到相关文章

最新更新