I had this:
public function recent_history($weeks = null) { $this -> MapHistory -> recursive = 0; $this->paginate = array ( 'conditions' => array( 'OR' => array( 'MapHistory.date_returned >' => 'DATE_SUB( CURRENT_DATE(), INTERVAL 2 WEEK)', 'MapHistory.date_loaned >' => DATE_SUB( CURRENT_DATE(), INTERVAL 2 WEEK)' ) ), 'order' => array( 'MapHistory.date_returned' => 'ASC', 'MapHistory.date_loaned' => 'ASC' ), 'limit' => 50 ); $this -> set('mapHistories', $this -> paginate('MapHistory')); }
But it was failing miserably because it was passing 'DATE_SUB( CURRENT_DATE(), INTERVAL 2 WEEK)' with the quotes and MYSQL wasn't executing the statements.
Following this => http://stackoverflow.com/questions/9076152/way-for-using-date-subcurdate-interval-2-day-condition-in-cakephp
I just removed the array key => value stuff and placed it all in one set of single quotes and it worked fine:
public function recent_history($weeks = null) { $this -> MapHistory -> recursive = 0; $this->paginate = array ( 'conditions' => array( 'OR' => array( 'MapHistory.date_returned > DATE_SUB( CURRENT_DATE(), INTERVAL 2 WEEK)', 'MapHistory.date_loaned > DATE_SUB( CURRENT_DATE(), INTERVAL 2 WEEK)' ) ), 'order' => array( 'MapHistory.date_returned' => 'ASC', 'MapHistory.date_loaned' => 'ASC' ), 'limit' => 50 ); $this -> set('mapHistories', $this -> paginate('MapHistory')); }
0 Comments