【发布时间】:2014-12-10 01:06:17
【问题描述】:
我有三个表Countries、Cities 和Addresses。他们的关系是国家有很多城市,城市有很多地址。所以它类似于国家->城市->地址。
如果我想获取某个城市的所有地址,我可以这样做
$this->paginate = [
'contain' => ['Cities']
];
$this->set('addresses', $this->paginate($this->Addresses));
如果我想获得某个国家/地区的所有城市,我也可以这样做。
我想要的是获取某个国家/地区的所有地址。
注意:地址不包含国家/地区的外键,而是在城市中。
可能的查询是:SELECT a.*, c.* FROM countries a LEFT JOIN cities b ON a.id=b.country_id LEFT JOIN addresses c ON b.id=c.city_id
【问题讨论】:
-
我将编辑问题。由于副本是 2009 年的旧版本,现在 cake 有了它的 ORM。