MINUS と同様に、2 番目のクエリ (2 番目のテーブルからのデータ) を除外する必要があります。しかし、MySQL は MINUS をサポートしていないため、LEFT JOIN を使用することにしました。ただし、データベースエラーが発生します。
モデル
function searchRooms($room_type, $start_date, $end_date) {
// Line 6 is the below one:
$query = $this->db->query(
"SELECT room_number
FROM rooms
WHERE room_type = '$room_type'
ORDER BY room_number ASC
LEFT JOIN
SELECT room_number
FROM new_reservation
WHERE start_date >= '$start_date'
AND end_date <= '$end_date'
ORDER BY room_number ASC
");
return $query->result();
}
コントローラ
function search() {
$room_type = $this->input->post('room_type');
$start_date = $this->input->post('start_date');
$end_date = $this->input->post('end_date');
$this->reservations_model->searchRooms($room_type, $start_date, $end_date);
$this->index();
}