我想在里面显示房间类型和房间号码 例如:
等等。
这是我的表
room_type
-------
room_type_id (int)
room_type_name (varchar)
room_price (float)
room_detail (text)
room
-------
room_e_id (int)
room_type_id (int)
room_number (int)
room_status (varchar)
这是我的模特
function get_room_type() {
$query = $this->db->get('room_type');
$return = array();
foreach ($query->result() as $room) {
$return['$room->room_type_id'] = $room;
$return['$room->room_type_id'] -> subs = $this->get_room_list($room->room_type_id);
} return $return;
}
public function get_room_list($room_type_id) {
$this->db->where('room_type_id', $room_type_id);
$query = $this->db->get('room');
return $query->result();
}
这是我的控制器
$data['room_list'] = $this->m_fo->get_room_type();
并查看
<ul>
<?php foreach ($room_list as $row) { ?>
<li>
<?php echo $row->room_type; ?> <?php
if (!empty($row->subs)) {
echo '<ul>';
foreach ($row->subs as $sub) {
echo '<li>' . $sub->room_no . ' - ' . $sub->room_status . '</li>';
} echo '</ul>';
}
?>
</li> <?php } ?>
</ul>
但它只显示我的页面中的最后一个房间类型和房间号码,如您所见 - screenshot 有什么不对或更少? 谢谢你
答案 0 :(得分:1)
在单引号内部,所有内容都被视为字符串,因此您应该像这样更改这两行。
$return[$room->room_type_id]->rooms = $room;
$return[$room->room_type_id]->subs = $this->get_room_list($room->room_type_id);