$query = $modx->newQuery('request');
$query->select(array(
'id',
'lastupdate' ,
'DATEDIFF(NOW(),lastupdate) AS Age'
));
$query->where(array(
'Age:>=' => 7
));
$query->where(array(
'DATEDIFF(NOW(),lastupdate):>=' => 7
));
This question has been answered by Bruno17. See the first response.
$cutoff = strtotime(-1 week); /* 7 days ago */
$query->where(array(
(string) $cutoff . ':>=' => 'lastupdate'
));
How about something like this:
$cutoff = strtotime(-1 week); /* 7 days ago */ $query->where(array( (string) $cutoff . ':>=' => 'lastupdate' ));
Try removing this line:
'DATEDIFF(NOW(),lastupdate) AS Age'
$query = $modx->newQuery('request');
$query->select(array(
'id',
'lastupdate'
));
$query->where(array(
'DATEDIFF(NOW(),lastupdate):>=' => 7
));
$requests = $modx->getCollection('request',$query);
foreach ($requests as $r)
{
$request=$r->toArray();
if ($request[Age]>7)
......
$query = $modx->newQuery('request');
$query->select(array(
'id',
'lastupdate' ,
'DATEDIFF(NOW(),lastupdate) AS Age'
));
$query->having('Age >= 7');$query = $modx->newQuery('request');
$query->select(array(
'id',
'lastupdate' ,
'DATEDIFF(NOW(),lastupdate) AS Age'
));
$query->where('DATEDIFF(NOW(),lastupdate) >= 7');