При использовании ORM (Object-Relational Mapping) в 1C-Bitrix для выборки записей из инфоблока и их фильтрации по текстовому свойству можно использовать следующий подход:
1. Создайте объект модели соответствующего инфоблока, используя класс CIBlockElement или другой класс моделей в зависимости от версии Bitrix.
$element = new CIBlockElement;
2. Определите параметры выборки с помощью метода SetFilter() и укажите свойство, по которому нужно отфильтровать записи.
$element->SetFilter(array( "IBLOCK_ID" => 1, // ID вашего инфоблока "=PROPERTY_TEXT_PROP" => "значение_свойства", ));
3. Вызовите метод GetList() для выполнения выборки. В качестве параметров можно передать массив полей, которые требуется получить, а также другие параметры сортировки и разбиения на страницы, если необходимо.
$elements = $element->GetList( array("SORT" => "ASC"), // сортировка false, // фильтрация по разделам false, // группировка false, // параметры навигации array("ID", "NAME", "PROPERTY_TEXT_PROP") // выбранные поля );
4. Обработайте полученные записи по вашим потребностям. В данном примере выборка вернет объект CIBlockResult, из которого можно получить записи методом Fetch().
while($element = $elements->Fetch()) { echo $element["NAME"]. " - ". $element["PROPERTY_TEXT_PROP"]. "<br>"; }
Таким образом, используя ORM Bitrix, вы можете легко фильтровать выбранные записи по текстовому свойству инфоблока. Указывайте необходимые параметры фильтрации в методе SetFilter() и обрабатывайте полученные результаты в цикле.