I have 2 tables in database. I need to get from database all rooms in which there is no reservation in the hours and date given by me.
rooms:
id int(11)
name varchar(15)
reservations:
id int(11)
room_id int(11)
date date
time_start time
time_finish time
my function:
public function get_free_rooms() {
$date = $this->input->post('date', true);
$time_start = $this->input->post('time_start', true);
$time_finish = $this->input->post('time_finish', true);
$query = $this->db->join('reservations','rooms.id = reservations.room_id','left')
->where('reservations.id IS NULL', null, false)
->where('reservations.date', $date)
->where('reservations.time_start<', $time_start)
->where('reservations.time_finish>', $time_finish)
->get('rooms');
$query = $query->result();
echo json_encode($query);
}
My reservations table is empty now. When I give data:
$date = 2019-05-29, $time_start = 10:00:00, $time_finish = 13:00:00
result of query is an empty array and should return all rooms because there is no booking.