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

GetList

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

CDBResult CFormAnswer::GetList(
	int question_id,
	string &by = "s_sort",
	string &order = "asc",
	array filter = array(),
	bool &is_filtered
)

Возвращает список ответов в виде объекта класса CDBResult. Метод нестатический.

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

Параметр Описание
question_id ID вопроса.
by Ссылка на переменную с полем для сортировки результирующего списка. Может принимать значения:
  • s_id - ID ответа;
  • s_sort - индекс сортировки.
оrder Ссылка на переменную с порядком сортировки. Может принимать значения:
  • asc - по возрастанию;
  • desc - по убыванию.
filter Массив для фильтрации. Необязательный параметр. В массиве допустимы следующие ключи:
  • ID* - ID ответа (по умолчанию будет искаться точное совпадение);
  • ID_EXACT_MATCH - если значение равно "N", при фильтрации по ID будет искаться вхождение;
  • ACTIVE - флаг активности, допустимые следующие значения:
  • MESSAGE* - параметр ANSWER_TEXT (по умолчанию будет искаться вхождение);
  • MESSAGE_EXACT_MATCH - если значение равно "Y", при фильтрации по MESSAGE будет искаться точное совпадение;
  • VALUE* - параметр ANSWER_VALUE (по умолчанию будет искаться вхождение);
  • VALUE_EXACT_MATCH - если значение равно "Y", то при фильтрации по VALUE будет искаться точное совпадение;
  • FIELD_TYPE* - тип поля ответа (по умолчанию будет искаться вхождение);
  • FIELD_TYPE_EXACT_MATCH - если значение равно "Y", при фильтрации по FIELD_TYPE будет искаться точное совпадение;
  • FIELD_PARAM* - параметр поля ответа (по умолчанию будет искаться вхождение);
  • FIELD_PARAM_EXACT_MATCH - если значение равно "Y", то при фильтрации по FIELD_PARAM будет искаться точное совпадение.
* - допускается сложная логика
is_filtered Ссылка на переменную, хранящую флаг отфильтрованности результирующего списка. Если значение равно "true", то список был отфильтрован.

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

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

<?
$QUESTION_ID = 143; // ID вопроса

// сформируем массив фильтра
$arFilter = Array(
	"ID"                      => "589 | 590", // ID ответа равен 589 или 590
	"ID_EXACT_MATCH"          => "Y",         // точное совпадение для ID
	"ACTIVE"                  => "Y",         // флаг активности
	"MESSAGE"                 => "да | нет",  // параметр ANSWER_TEXT равен "да" или "нет"
	"MESSAGE_EXACT_MATCH"     => "Y",         // точное совпадение для MESSAGE
	"FIELD_TYPE"              => "radio",     // тип поля ответа - radio-кнопка
	"FIELD_TYPE_EXACT_MATCH"  => "Y",         // точное совпадение для FIELD_TYPE
	"FIELD_PARAM"             => "checked",   // параметр включает в себя строку "checked"
	"FIELD_PARAM_EXACT_MATCH" => "N"          // вхождение для FIELD_PARAM
);

// получим список всех ответов вопроса #143
$rsAnswers = CFormAnswer::GetList(
	$QUESTION_ID, 
	$by="s_id", 
	$order="desc", 
	$arFilter, 
	$is_filtered
);
while ($arAnswer = $rsAnswers->Fetch())
{
	echo "<pre>"; print_r($arAnswer); echo "</pre>";
}
?>


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