【发布时间】:2014-08-09 21:11:24
【问题描述】:
我正在尝试加入两个表。假设第一个表是 test1,另一个是 test2 在 test1 表中我有字段 HOTEL_ID 姓名 城市 国家
然后在 test2 表中我有 ROOM_ID HOTEL_ID ROOM_TYPE
因此,大多数情况下,酒店都有多种类型的客房。所以当我使用这个查询加入这两个表时
$this->db->like('city', $visitingPlace);
$this->db->or_like('country', $visitingPlace);
$this->db->or_like('name', $visitingPlace);
$this->db->limit($per_page, $page);
$this->db->select('*')
->from('test1')
->join('test2', 'test1.hotel_id = test2.hotel_id', 'left');
$query = $this->db->get();
它重复显示与该酒店 ID 匹配的每个房间类型的酒店名称,但我想在所有房间类型中显示一次酒店名称。我怎样才能做到这一点?
谢谢
【问题讨论】:
-
最好在 PHP 中完成,在 codeigniter/activerecord 中执行会产生相对复杂的查询。
-
在显示输出时,如果酒店名称与上一行相同,则不要显示酒店名称。将酒店名称保存在变量中,以便您进行比较。
-
那么问题出在哪里?您已经在相同的结果中获得了酒店详细信息和房间。从第一行显示酒店详细信息,并通过迭代所有结果来显示房间。您无需更改任何内容!