我有一个包含很多任务的数据库,每个任务都有一个项目,所以当我想从一个项目中获取任务时,我可以这样做:
combinenodes()
在日期库中,带有任务的表我有一个带有" due_date"的VARCHAR列。 name,我想只获取两个日期之间的任务(from_date和to_date)
任何人都可以建议我如何正确地做到这一点?我试过这个,但它不起作用:
ProjectHasTask::all(array('conditions' => array('status = ? AND project_id = ? ', 'done', $project_id)));
答案 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
或使用==
获取确切日期