大佬教程收集整理的这篇文章主要介绍了php – Symfony2 Doctrine Eager在查询中加载,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
关系结构:
城市 – > Town = OneToMany
镇 – > City = ManyToOne
实体/ City.PHP
/** * @ORM\OneToMany(targetEntity="Town",mappedBy="city") */ private $towns;
实体/ Town.PHP
/** * @ORM\ManyToOne(targetEntity="City",inversedBy="towns") * @ORM\Joincolumn(name="city_id",referencedcolumnName="id") */ private $city;
其中In Query未在第二和第三项中运行.
1-)Town =>城市查询(工作)Profiler SS:http://prntscr.com/34lx9q
$query = $this->_entitymanager->createQuery('SELECT town FROM PersonalSiteBundle:Town town'); $query->setFetchMode( 'Personal\SiteBundle\Entity\Town',"city",\Doctrine\ORM\Mapping\ClassMetadata::FETCH_EAGER ); $query->execute();
2-)Town => City Query(Not Working)Profiler SS:http://prntscr.com/34ly4h
$query = $this->_entitymanager->createQuery('SELECT town FROM PersonalSiteBundle:Town town'); $query->setFetchMode( 'Personal\SiteBundle\Entity\Town',\Doctrine\ORM\Mapping\ClassMetadata::FETCH_EAGER ); $query->execute(array(),Query::HYDRATE_ARRAY);
3-)City => Town Query(Not Working)Profiler SS:http://prntscr.com/34ly4h
$query = $this->_entitymanager->createQuery('SELECT city FROM PersonalSiteBundle:City city'); $query->setFetchMode( 'Personal\SiteBundle\Entity\City',"towns",Query::HYDRATE_ARRAY);
这是QueryBuilder版本:
$qb = $this->createQueryBuilder('city') ->addSELEct('town') ->innerJoin('town.city','city'); $cities = $qb->getQuery()->getResult();
以上是大佬教程为你收集整理的php – Symfony2 Doctrine Eager在查询中加载全部内容,希望文章能够帮你解决php – Symfony2 Doctrine Eager在查询中加载所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。