如何查询到return范围在start_date和end_date之间的数据?

How to query to return data range between start_date and end_date?

所以,我有一个视图报告显示,它过滤了 Period From 和 Period To,如下所示:

而且,我有日期如下的员工数据:

当我显示报告时,日期范围数据不可读。它应该出现,因为 start_date 是 1 月 17 日,而 end_date 是 1 月 21 日..

这是我的查询,请帮忙..谢谢。

 ->select("a.id, a.employee_id, a.employee_name, a.leave_name, a.start_date, a.end_date, a.status, 
           b.id, b.employee_id, b.job_title_name, b.employment_status_name")
  ->join('hr_employee b', 'a.employee_id = b.employee_id', 'left')
  ->where("(a.start_date <= BETWEEN '$data[from]' AND '$data[to]') OR (a.end_date >= BETWEEN '$data[from]' AND '$data[to]')");
   return $this->db->get('hr_leaves a');

->where("(a.start_date <= BETWEEN '$data[from]' AND '$data[to]') OR (a.end_date >= BETWEEN '$data[from]' AND '$data[to]')");

From <= End_Date AND To >= Start_Date,其中 From/To 是用户数据,[Start/End]_Date 是 table 列。