Выборка ресурсов по дате
Добрый день!
Покажите, как мне вывести ID тех документов, который опубликованы позднее указанный даты?
Без даты получаю таким образом:
Покажите, как мне вывести ID тех документов, который опубликованы позднее указанный даты?
Без даты получаю таким образом:
$resources = $modx->getCollection('modResource');
$where = array(
'parent' => 9
,'published' => 1
//Чую, тут косяк)) ,'publishedon' >= $dates
);
$resources = $modx->getCollection('modResource',$where);
$output = '';
foreach ($resources as $k => $res) {
$output .= $res->get('id');
}
return $output;
Дату к примеру получаю в формате ГГГГ-ММ-ДД. Перевести ее в UNIX тоже не проблема. В БД ModX все храниться как я понял в UNIX? Комментарии: 4
$where = array(
'parent' => 9
,'published' => 1
,'publishedon:>' => $dates
);
Спасибо! А подскажите, дату нужно преобразовывать в UNIX или все использовать как есть в формате ГГГГ-ММ-ДД?
С ходу не могу сказать. Пробуйте.
Реализовал свою задачу таким образом:
$search = filter_input(INPUT_POST,'search');
$data = filter_input(INPUT_POST,'dates');
$date_from = strtotime($data." 00:00:00");
$date_to = strtotime("now");
$q = $modx->newQuery('modResource');
$q->where(array(
'OR:class_key:IN' => array('msProduct','modDocument'),
'AND:pagetitle:LIKE' => '%'.$search.'%',
'publishedon:>' => $date_from,
'publishedon:<' => $date_to,
));
$q->select('id');
if ($q->prepare() && $q->stmt->execute()) {
$ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
$id = implode(', ',$ids);
}
$params = array();
$params['tpl'] = filter_input(INPUT_POST,'tpl');
$params['parents'] = '9,14';
$params['offset'] = filter_input(INPUT_POST, 'offset', FILTER_SANITIZE_NUMBER_INT);
$params['includeTVs'] = 'news-image,news-class';
$params['showLog'] = '0';
$params['resources'] = $id;
$res = $modx->runSnippet('pdoResources', $params);
if (!empty($res)) {
die($res);
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.