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

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-2021, «1С-Битрикс», 2021
Наверх