У меня есть 2 модели в моем Codeigniter, 1 получает все номера, а вторая модель получает забронированные номера в диапазоне выбранной даты.
На мой взгляд, я могу перечислить все комнаты с foreach, и когда я вставляю другой foreach, чтобы зарезервированные номера были выделены красным цветом, я получаю результат, но вижу дублированные результаты
Мои модели:
public function rooms(){
$result = $this->db->select('*')
->from('rooms')
->group_by('room_id')
->get()
->result();
return $result;
}
public function check_room_availability($start, $end){
$this->db->select('*');
$this->db->from('room_actions as ra', 'rooms as r');
$this->db->join('rooms as r', 'r.room_id = re.room_id', 'LEFT');
$this->db->where('ra.days >=', $start);
$this->db->where('ra.days <=', $end);
$this->db->group_by('ra.room_id');
$query = $this->db->get()->result();
return $query;
}
И мой взгляд:
<?php foreach($all_rooms as $room) {
foreach($booked_ones as $booked) {?>
<div class="<?php
if($booked->room_id == $room->room_id){
echo 'room_box red';}
else{
echo 'room_box green';}?>">
<?php echo $room->room_id; ?>
</div>
<?php } ?>
<?php } ?>
Я бы оценил, если бы вы могли мне помочь. Спасибо.
Как вы можете видеть на изображении ниже, если у меня забронированы 2 комнаты на выбранные даты, мои комнаты дублируются. Если я забронировал 3 номера, он становится X 3.
https://pasteboard.co/I8AkG8i.jpg