我们有表格(详情略去):
project {
projectID,
addressID
}
address {
addressID,
postcode,
streetName,
buildingNumber
}
查询返回项目地址的行。
$this->db->select('a.postcode, p.projectID, p.addressID');
$this->db->from('address AS a , project as p');
$this->db->join('project', 'p.addressID = a.addressID');
$this->db->where('p.projectID', $projectID);
/* RETURNS SEVERAL INSTANCES OF THE SAME ROW! ... */
$projectAddress = $this->db->get()->result_array();
echo sizeof($projectAddress).' -- ';
print_r($projectAddress[0]['postcode']);
我们检查了数据库,它只包含项目表中的一个projectID和一个带有该projectID的地址记录。每个项目绝对不能有更多的地址,因为我们已经在数据库中考虑了这一点。
输出:
43 -- PA73 6LT
注意:我们知道我们可以将结果集限制为一行,但我们很好奇为什么它会返回这个任意数字--43。
干杯!
答案 0 :(得分:3)
你复制了联接,试试这个:
$this->db->select('a.postcode, project.projectID, project.addressID');
$this->db->from('address AS a');
$this->db->join('project', 'project.addressID = a.addressID');
$this->db->where('project.projectID', $projectID);