脚本宝典收集整理的这篇文章主要介绍了php – 与querybuilder“一对多”关系的Doctrine innerjoin,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_419_7@
SELECT * From `session` INNER JOIN `goal` ON (`session`.`id` = `goal`.`session_id`) WHERE `goal`.`name` = 'Background Dx' AND `session`.`gsITe_id` = '66361836'@H_419_7@目标宣言
@H_419_7@
/** .... * * @ORM\Table(name="goal") * @ORM\Entity */ class Goal { ... /** * @VAR Session * * @ORM\ManyToOne(targetEntity="Session") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="session_id",referencedColumnName="id") * }) */ PRivate $session; ... }@H_419_7@会话类不包含对目标的任何引用
@H_419_7@通过阅读在线文档,似乎学说要求在实体会话上存在列以执行请求的连接.是真的如此,还是有另一种方式?
@H_419_7@我的QueryBuilder@H_419_7@
$rep = $this->em->getRepository(Session::repositoryName); $qb = $rep->createQueryBuilder("s"); $qb->setMaxResults(50); //site if ($params->site != null){ /** @var Gsite **/ $site = $params->site; $qb->andWhere($qb->expr()->eq("s.site",":site"))->setParameter("site",$site); } if (isset($params->goalName)){ ///SOMETHING .... ... ... } $query = $qb->getQuery(); $paginator = new Paginator($query); return $paginator;
@H_419_7@
$qb->innerJoin('You\YourBundle\Entity\Goal','g',Expr\Join::WITH,'s.id = g.session') ->where('g.name = :goalName')->andWhere('s.gsiteid = :gsiteId') ->setParameter('goalName','Background Dx')->setParameter('gsiteId','66361836');@H_419_7@希望我能正确理解你的问题.
以上是脚本宝典为你收集整理的php – 与querybuilder“一对多”关系的Doctrine innerjoin全部内容,希望文章能够帮你解决php – 与querybuilder“一对多”关系的Doctrine innerjoin所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。