0
我确信之前已经询问过这个问题,但我不确定我期待的术语,所以请耐心等待!Doctrine2表继承
我有一个表结构,看起来像这样:
[Branch] [Ville]
- ID - ID
- Ville_ID - Region_ID
[Region]
- ID
- Province_ID
[Province]
- ID
- Country_ID
[Country]
- ID
分支实体的样子:
/**
* @ORM\Entity
* @ORM\Table()
*/
class Succursale
{
/**
* @ORM\Id
* @ORM\GeneratedValue()
* @ORM\Column(name="ID", type="integer")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Hero\LieuBundle\Entity\Ville")
* @ORM\JoinColumn(name="Ville_ID", referencedColumnName="ID", nullable=false)
*/
protected $ville;
}
城市,地区,省和国家实体基本上彼此相同:
/**
* @ORM\Entity
* @ORM\Table()
*/
class Ville
{
/**
* @ORM\Column(name="ID", type="integer")
* @ORM\Id
* @ORM\GeneratedValue()
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Hero\LieuBundle\Entity\Region")
* @ORM\JoinColumn(name="Region_ID", referencedColumnName="ID", nullable=false)
*/
protected $region;
}
代码很简单(Symfony2):
$succursales = $entreprise->getSuccursales();
而且在树枝模板,我有:
<ul>
{% for item in succursales %}
<li>{{ item.adresse }}, {{ item.ville.nom }}</li>
{% endfor %}
</ul>
这一切工作正常。当我拿到一个分支时,我可以顺利地把这座城市拿到手,但显然,能够通过一个查询获得该地区,省份和国家会很好。看到多么可怕的Doctrine2是,我敢肯定这是可能的,但如果任何人都可以指出我在正确的方向,将不胜感激!
不,性能不是问题,至少现在不是。我想我会写我自己的查询。谢谢! –