Symfony 如何将我的SQL语句转换为Doctrine QueryBuilder?
如何使用doctrine2 querybuilder编写此sql语句?我正在试着用这个Symfony 如何将我的SQL语句转换为Doctrine QueryBuilder?,symfony,doctrine-orm,query-builder,Symfony,Doctrine Orm,Query Builder,如何使用doctrine2 querybuilder编写此sql语句?我正在试着用这个 SELECT * FROM PropertyRequest p JOIN leads l WHERE p.lead_id= l.id 但是不起作用从这里开始,我怀疑您在实体p中将lead_id定义为“lead”。我的答案是基于这些假设 然后可以使用此语句执行连接 $qb = $this->createQueryBuilder('p') ->Join('p.lead', 'm')
SELECT * FROM PropertyRequest p JOIN leads l WHERE p.lead_id= l.id
但是不起作用从这里开始,我怀疑您在实体p中将lead_id定义为“lead”。我的答案是基于这些假设 然后可以使用此语句执行连接
$qb = $this->createQueryBuilder('p')
->Join('p.lead', 'm')
->Where('m.id = :lead')
->setParameter(':lead', $lead);
return $qb->getQuery()->getResult();
如果这不起作用,您需要提供一条错误消息,可能还包括两个实体的定义。从这里开始,我怀疑您在实体p中将lead_id定义为“lead”。我的答案是基于这些假设 然后可以使用此语句执行连接
$qb = $this->createQueryBuilder('p')
->Join('p.lead', 'm')
->Where('m.id = :lead')
->setParameter(':lead', $lead);
return $qb->getQuery()->getResult();
如果这不起作用,您需要提供一条错误消息,可能还有两个实体的定义。这是我进行查询的方式 //---控制器
$qb = $this->createQueryBuilder('p')
->innerJoin('p.lead', 'm', 'WITH', 'p.lead = m.id')
->Where('m.id = :lead')
->setParameter(':lead', $lead);
return $qb->getQuery()->getResult();
//---实体
这是我进行查询的方式
//---控制器
$qb = $this->createQueryBuilder('p')
->innerJoin('p.lead', 'm', 'WITH', 'p.lead = m.id')
->Where('m.id = :lead')
->setParameter(':lead', $lead);
return $qb->getQuery()->getResult();
//---实体
我的问题在于目标实体,因为它位于外部绑定包中`$queryBuilder=$this->createQueryBuilder('p')->join('p.lead','m')->where('p.lead=:lead')->setParameter(':lead',$lead);返回$queryBuilder->getQuery()->getResult()`我的问题是目标实体,因为它位于外部绑定包中`$queryBuilder=$this->createQueryBuilder('p')->join('p.lead','m')->where('p.lead=:lead')->setParameter(':lead',$lead);返回$queryBuilder->getQuery()->getResult()`