0
我试图执行查询以获得来自特定Organization
的所有Repos
,但它返回空结果...(我在数据库中有数据!) Repos和组织是Many to Many
关系。Symfony/Doctrine:通过子属性过滤查询
这里的Repos
实体:
/**
* Repos
*
* @ORM\Table(name="repos")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ReposRepository")
*/
class Repos
{
...
/**
*
* @ManyToMany(targetEntity="Organization", inversedBy="repos")
*
*/
protected $orgs;
...
这里的Organization
实体:
/**
* Organization
*
* @ORM\Table(name="organization")
* @ORM\Entity(repositoryClass="AppBundle\Repository
* \organizationRepository")
*/
class Organization
{
...
/**
*
* @ORM\ManyToMany(targetEntity="Repos", mappedBy="orgs")
*
*/
protected $repos;
...
}
这里的Repository
与QueryBuilder
:
/**
* ReposRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class ReposRepository extends \Doctrine\ORM\EntityRepository
{
public function findReposByName($name){
$qb = $this->createQueryBuilder('r');
// Build query
$qb->select('r')
->andWhere(
':searchName MEMBER OF r.orgs'
);
$qb->setParameter('searchName',$name);
return $qb->getQuery()->getResult();
}
}
的$name
是一个或名称我希望获得具有相同组织名称的所有Repos。
WOWW,它的作品!前几天我看到了解决方案,但是我将同一个连接的别名与CreateQueryBuilder放在一起!这就是为什么它不起作用!谢谢! – HessianMad