php – Symfony2 Doctrine Eager在查询中加载
发布时间:2020-05-25 08:56:28 所属栏目:PHP 来源:互联网
导读:我使用Symfony 2.4.2我有两个Doctrine实体.名称:城市和城镇. 关系结构: 城市 – Town = OneToMany 镇 – City = ManyToOne 实体/ City.php /** * @ORMOneToMany(targetEntity=Town, mappedBy=city) */private $towns; 实体/ Town.php
|
我使用Symfony 2.4.2我有两个Doctrine实体.名称:城市和城镇. 关系结构: 城市 – > Town = OneToMany 实体/ City.php /** * @ORMOneToMany(targetEntity="Town",mappedBy="city") */ private $towns; 实体/ Town.php /** * @ORMManyToOne(targetEntity="City",inversedBy="towns") * @ORMJoinColumn(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(
'PersonalSiteBundleEntityTown',"city",DoctrineORMMappingClassMetadata::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(
'PersonalSiteBundleEntityTown',DoctrineORMMappingClassMetadata::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(
'PersonalSiteBundleEntityCity',"towns",Query::HYDRATE_ARRAY);
如果要在存储库中执行此操作,可以执行JOIN并将资源添加到所选对象.
这是QueryBuilder版本: $qb = $this->createQueryBuilder('city')
->addSelect('town')
->innerJoin('town.city','city');
$cities = $qb->getQuery()->getResult(); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
