Функция newQuery() несколькими способами.
// новый запрос
$query = $modx->newQuery('modResource');
// связь таблиц site_content и users
$query->innerJoin('modUser', 'key', "key.id = modResource.createdby");
// выбираем название статьи и имя пользователя который публикует статью
$query->select('modResource.pagetitle, key.username');
// Обратная сортировка по дате публикации
$query->sortby('modResource.createdon', 'DESC');
// выбираем 10 записей
$query->limit(10);
// если запрос подготовлен и выполнен
if ($query->prepare() && $query->stmt->execute()) {
// так можно проверить sql запрос
//echo $query->toSQL();
// получаем данные
$result = $query->stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row) {
echo $row['pagetitle'].' '.$row['username'];
} <code><span class="pun">}</span></code>Функция getCollection()
$query = $modx->newQuery('modResource');
$query->select('id, pagetitle, createdon');
$query->sortby('createdon', 'DESC');
$query->limit(10);
$query->prepare();
// получаем коллекцию объектов
$result = $modx->getCollection('modResource', $query);
foreach ($result as $row) {
// связь с таблицей users по алиасу CreatedBy
$user = $row->getOne('CreatedBy');
// имя пользователя
echo $user->get('username') ;
// заголовок ресурса
echo $row->get('pagetitle');
}xPDOCriteria()
// пишем запрос
$sql = "SELECT `pagetitle`, `username` FROM `modx_site_content` AS `modResource` JOIN `modx_users` `key` ON `key`.`id` = `modResource`.`createdby` ORDER BY `modResource`.`createdon` DESC LIMIT 10";
// получаем объект
$query = new xPDOCriteria($modx, $sql);
if ($query->prepare() && $query->stmt->execute()){
$res = $query->stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($res as $row){
echo $row['username'];
echo $row['pagetitle'];
}
}query()
$sql = "SELECT `pagetitle`, `username` FROM `modx_site_content` AS `modResource` JOIN `modx_users` `key` ON `key`.`id` = `modResource`.`createdby` ORDER BY `modResource`.`createdon` DESC LIMIT 10";
$query = $modx->query($sql);
$res = $query->fetchAll(PDO::FETCH_ASSOC);
foreach ($res as $row){
echo $row['username'];
echo $row['pagetitle'];
}
01 января 1970, 03:00
713
Комментарии ()