Документация для разработчиков
Темная тема

GetList

Описание и параметры

CDBResult
CBlogPost::GetList(
	array arOrder = Array("ID"=>"DESC"),
	array arFilter = Array(),
	bool  arGroupBy = false,
	bool  arNavStartParams = false,
	array arSelectFields = Array()
);

Возвращает список сообщений по фильтру arFilter, отсортированный в порядке arOrder. Метод нестатический.

Примечание: фильтрация по ID категорий делается так: CATEGORY_ID_F. В результате ID категорий будут выведены через запятую.

Параметры метода

ПараметрОписание
arOrder Массив для сортировки результата. Массив вида array("поле сортировки"=>"направление сортировки" [, ...]) Поле для сортировки может принимать значения:
  • ID - идентификатор сообщения;
  • TITLE - заголовок сообщения;
  • BLOG_ID - идентификатор блога;
  • AUTHOR_ID - идентификатор автора сообщения;
  • DETAIL_TEXT - текст сообщения;
  • DATE_CREATE - дата создания сообщения;
  • DATE_PUBLISH - дата публикации сообщения;
  • KEYWORDS - ключевые слова сообщения;
  • PUBLISH_STATUS - статус публикации сообщения;
  • ATRIBUTE - атрибуты сообщения;
  • ENABLE_TRACKBACK - разрешены ли trackback'и к сообщению;
  • ENABLE_COMMENTS - разрешены ли комментарии к сообщению;
  • NUM_COMMENTS - количество комментариев;
  • NUM_TRACKBACKS - количество trackback'ов;
  • AUTHOR_LOGIN - логин автора сообщения;
  • AUTHOR_NAME - имя автора сообщения;
  • AUTHOR_LAST_NAME - фамилия автора сообщения;
  • AUTHOR_EMAIL - Email автора сообщения;
  • VIEWS — сортировка по количеству просмотров.
Необязательный. По умолчанию фильтруется по убыванию идентификатора сообщения.
arFilter Массив вида array("фильтруемое поле"=>"значение фильтра" [, ...]). Фильтруемое поле может принимать значения:
  • ID - идентификатор сообщения;
  • TITLE - заголовок сообщения;
  • BLOG_ID - идентификатор блога;
  • BLOG_ACTIVE - признак активности блога Стандартный GetList выбирает записи и из неактивных блогов. Чтобы выборка не включала в себя неактивные блоги нужно указать:
    $arFilter = Array ( "BLOG_ACTIVE" => "Y" );
    ;
  • AUTHOR_ID - идентификатор автора сообщения;
  • DETAIL_TEXT - текст сообщения;
  • DATE_CREATE - дата создания сообщения;
  • DATE_PUBLISH - дата публикации сообщения;
  • DATE_PUBLISH_DAY - день публикации сообщения;
  • DATE_PUBLISH_MONTH - месяц публикации сообщения;
  • DATE_PUBLISH_YEAR - год публикации сообщения;
  • KEYWORDS - ключевые слова сообщения;
  • PUBLISH_STATUS - статус публикации сообщения;
  • CATEGORY_ID_F - идентификатор категории сообщения;
  • ATRIBUTE - атрибуты сообщения;
  • ENABLE_TRACKBACK - разрешены ли trackback'и к сообщению;
  • ENABLE_COMMENTS - разрешены ли комментарии к сообщению;
  • NUM_COMMENTS - количество комментариев;
  • NUM_TRACKBACKS - количество trackback'ов;
  • AUTHOR_LOGIN - логин автора сообщения;
  • AUTHOR_NAME - имя автора сообщения;
  • AUTHOR_LAST_NAME - фамилия автора сообщения;
  • AUTHOR_EMAIL - Email автора сообщения;
  • VIEWS — сортировка по количеству просмотров.
Перед названием фильтруемого поля может указать тип фильтрации:
  • "!" - не равно
  • "<" - меньше
  • "<=" - меньше либо равно
  • ">" - больше
  • ">=" - больше либо равно

"значения фильтра" - одиночное значение или массив.

Необязательный. По умолчанию записи не фильтруются.
arGroupBy Массив полей, по которым группируются записи. Массив имеет вид:
array(
	"название_поля1",
	"группирующая_функция2" => "название_поля2",
	...
)
В качестве "название_поляN" может стоять любое поле. В качестве группирующей функции могут стоять:
  • COUNT - подсчет количества;
  • AVG - вычисление среднего значения;
  • MIN - вычисление минимального значения;
  • MAX - вычисление максимального значения;
  • SUM - вычисление суммы.
Если массив пустой, то метод вернет число записей, удовлетворяющих фильтру.

Необязательный. По умолчанию - false - означает, что результат группироваться не будет.
arNavStartParams Массив параметров выборки. Может содержать следующие ключи:
  • "nTopCount" - количество возвращаемых методом записей будет ограничено сверху значением этого ключа
  • любой ключ, принимаемый методом CDBResult::NavQuery в качестве третьего параметра.
Необязательный. По умолчанию - false - означает, что параметров выборки нет.
arSelectFields Массив полей записей, которые будут возвращены методом. Можно указать только те поля, которые необходимы. Если в массиве присутствует значение "*", то будут возвращены все доступные поля.

Необязательный. По умолчанию - пустой массив array() - означает, что будут возвращены все поля основной таблицы запроса.

Примечание: в компонент blog.blog невозможно передать фильтрацию по опубликованности. Для этого необходимо скопировать стандартный компонент в своё пространство имён и вручную дописать проверку на опубликованность.

Возвращаемое значение

Возвращается объект CDBResult.

Смотрите также

Примеры использования

<?
// выберем все опубликованные сообщения всех блогов за апрель 2007 года
// у которых больше двух комментариев

$SORT = Array("DATE_PUBLISH" => "DESC", "NAME" => "ASC");
$arFilter = Array(
	"PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH,
	"DATE_PUBLISH_MONTH" => '04',
	"DATE_PUBLISH_YEAR" => '2007',
	">NUM_COMMENTS" => 2
);	

$dbPosts = CBlogPost::GetList(
	$SORT,
	$arFilter
);

while ($arPost = $dbPosts->Fetch())
{
	print_r($arPost);
}
?>
// выборка всех сообщений блога с заголовком, включающим слово "фильм"

$arFilter =  Array ( "~TITLE" => "%фильм%" );


© «Битрикс», 2001-2024, «1С-Битрикс», 2024