我有一个房地产项目,表格如下:
apartment
表有一个建筑物ID building
表有一个社区ID neighborhood
表有城市ID 现在,如果我想获得某个城市的所有公寓,那么最好的方法是什么?
我正在使用PHP
和MySQL
,这是我尝试过的失败
public static function getAllApartmentsInACity ($city_id) {
$results = array();
$db = DB::getInstance(); //My DB class nothing wrong here
$n = self::getAllNeighborhoodsInACity($city_id); // returns an array of objects of all neighborhoods
$b = array();
$a = array();
foreach ($n as $singleN) {
$b[] = self::getAllBuildingsInANeighborhood($singleN->id); //returns an array of objects of all buildings
}
foreach ($b as $singleB) {
echo $singleB->id . '-';
}
return $a;
}
毕竟,当Null
从此函数返回时,我得到var_dump
,假设我在表中有数据。
任何帮助将不胜感激
答案 0 :(得分:0)
使用以下查询:
$query = "SELECT apartment.*
FROM apartment
JOIN building ON
building.id = apartment.building_id
JOIN neighborhood ON
neighborhood.id = building.neighborhood_id
JOIN city ON
city.id = neighborhood.city_id AND
city.id = 'SOME CITY ID'
";