我在OneToMany关系中映射了2个实体。
国家实体
class Countries
{
public function __construct() {
$this->areas = new ArrayCollection();
}
/**
* @ORM\Column(type="string", length=100, nullable=false, unique=true)
*/
private $country
/**
* @ORM\OneToMany(targetEntity="App\Entity\Areas", mappedBy="country")
*/
private $areas;
/**
* @return Collection\Area[]
*/
public function getAreas() {
return $this->areas;
}
}
区域实体
class Areas
{
/**
* @ORM\Column(type="string", length=100, nullable=false, unique=false)
*/
private $area;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Countries", inversedBy="area")
* @ORM\JoinColumn(nullable=true)
*/
private $country;
public function getCountry() : Countries {
return $this->country;
}
public function setCountry(Countries $countries) {
$this->country = $countries;
}
}
在我的MySQL中,我看到它们是按国家/地区ID映射的,因此在db 1中,记录将如下所示
1 2 Ile-De-France
我想插入国家名称
1法国Ile-De-France
我在哪里可以设置要在映射中使用的列?我知道我总是可以做$ country-> getName($ id),但我更喜欢在DB中有清晰的视图。感谢所有回复。