Но на самом деле ваш вопрос шире, чем этот
я есть таблица и записи, как показано ниже таблицы.
id | list_id |venue_id |name | start_date | end_date |start_time |end_time | days
1 | 1 | 1 |asdf | 2019-02-02 14:05:54| 2019-02-28 14:05:54|05:30 |10:00 | 1,2,3
2 | 7 | 2 |awed | 2019-02-10 15:02:24| 2019-02-20 15:02:24|07:30 |14:00 | 2,5
3 | 7 | 1 |mjgd | 2019-02-04 09:05:54| 2019-02-13 09:05:54|09:30 |18:00 | 4
Теперь, что я делаю, я должен проверить диапазон start_time и end_time, если он найден в диапазоне, затем проверить, что start_date и end_date находятся в диапазоне, если он найден, затем отобразить записи.
Так что ниже запрос работает для вышеупомянутого сценария
SELECT * FROM batch_list
WHERE venue_id=1 AND (start_date <= '2019-03-01') AND (start_time <= '13:00:00') AND (end_date >= '2019-02-04') AND (end_time >= '10:00:00')";
Теперь у меня есть еще один столбец, которыйdays
, Так что я делаюvenue_id=1
записывается на день, который составляет 1,2,3,4, затем отображает записи.
Так как же проверить дни, которые уже забронированы для идентификатора 1?
Так какой запрос у меня есть к пользователю, чтобы проверить дни уже в таблице или нет места проведения id = 1?
function fetchBatches($venue_id,$new_batch_start_date,$new_batch_end_date,$new_batch_start_time,$new_batch_end_time,$days)
{
$where="venue_id=$venue_id AND (start_date <= '$new_batch_end_date') AND (start_time <= '$new_batch_end_time') AND (end_date >= '$new_batch_start_date') AND (end_time >= '$new_batch_start_time')";
$result =$this->db->select('*')
->from('batch_list')
->where($where)
->get()
->result();
if ($result) {
return $result;
}
else{
return 0;
}
}
Не могли бы вы помочь мне в этом вопросе?