如何在Codeigniter中的截止日期之间获取数据?

时间:2015-11-09 21:16:36

标签: php mysql codeigniter activerecord codeigniter-2

我有一个包含很多任务的数据库,每个任务都有一个项目,所以当我想从一个项目中获取任务时,我可以这样做:

combinenodes()

在日期库中,带有任务的表我有一个带有" due_date"的VARCHAR列。 name,我想只获取两个日期之间的任务(from_date和to_date)

任何人都可以建议我如何正确地做到这一点?我试过这个,但它不起作用:

ProjectHasTask::all(array('conditions' => array('status = ? AND project_id = ? ', 'done', $project_id)));

2 个答案:

答案 0 :(得分:0)

仅当due_date列包含时间戳值时,此方法才有效。否则这个查询毫无意义。

我相信你需要的只是几套好的地方括号。

$tasks_done = ProjectHasTask::all(array('conditions' => 
    array('(status = ? AND project_id = ?) AND (due_date <= ? AND due_date >= ?)', 
    'done', $project_id, $from_date->getTimestamp(), $to_date->getTimestamp())));

答案 1 :(得分:0)

使用此

$query = $this->db->query(
        "SELECT * FROM table_name 
        WHERE status = '$status' 
        AND project_id = $pid 
        AND (due_date BETWEEN '$due_date' AND '$due_date_2')
    ")
$result = $query->result_array();
return $result;
  

**注意:**这根本不是due_date <= ? AND due_date >= ?'好的参数。使用BETWEEN或使用==获取确切日期