我有两个表格,一个包含城市,一个包含国家。每个城市都通过ManyToOne关系(通过country country_id)链接到一个国家。Symfony2:按国家/地区列出城市
我现在需要做的是,将所有城市链接到该数据库的每个国家/地区的列表中。
无法弄清楚,如何使用doctrine构建这个查询。
我有两个表格,一个包含城市,一个包含国家。每个城市都通过ManyToOne关系(通过country country_id)链接到一个国家。Symfony2:按国家/地区列出城市
我现在需要做的是,将所有城市链接到该数据库的每个国家/地区的列表中。
无法弄清楚,如何使用doctrine构建这个查询。
到国家加入一对多关系,城市与乡村之间,则:
$country->getCity(); //return all linked cities from city table
看一看的一对多双向设置
下面是使用上的注释的例子:
/**
* @Entity
* @Table(name="country")
*/
class Country
{
/**
* @Id
* @Column(type="integer")
* @GeneratedValue
*/
public $id;
/**
* @Column(type="string", length=30, name="name", nullable=false)
*/
public $name;
/**
* @OneToMany(targetEntity="City", mappedBy="Country")
*/
private $cities;
}
/**
* @Entity
* @Table(name="city")
*/
class City
{
/**
* @Id
* @Column(type="integer")
* @GeneratedValue
*/
public $id;
/**
* @ManyToOne(targetEntity="Country")
* @JoinColumn(name="country", referencedColumnName="id")
*/
public $country;
/**
* @Column( type="string", length=30, name="name", nullable=false)
*/
public $name;
}
你需要设置这个u p以允许$country->getCities()
方法起作用
各国与城市无关,反之亦然。 Thaty我的问题。意思是$ city-> getCountry()的作品; $ country-> getCity()没有属性。 – madc 2012-03-14 12:09:21
你为什么不把国家连接到城市?更新我的回答 – seferov 2012-03-14 12:13:00
确实,你是对的。谢谢。 – madc 2012-03-14 12:25:04