Главная  |  О продукте  |  Пользователям  |  Community

Поиск

 

GetForeach

Метод GetForeach – реализация метода foreach из языка DJEM-script. Он позволяет вам осуществлять выборки по документам DJEM, задавая условия выборки, способ и направление сортировки и ограничения  с заданием условий, способа и направления сортировки.

Синтаксис:

depends GetForeach(string path, string where, string sort, string limit, string returnType)

Параметры:

path – путь к документам. Формируется так же, как и для DJEM-оператора foreach – то есть, указывается путь в дереве документов. Допускаются шаблоны .$ и .*, кото-рые означают "все непосредственные дети" и "все поддокументы" соответственно. Например, путь main.news.$ означает все документы в папке main.news, а main.goods.* - все поддокументы в ветви main.goods.
where – условия выборки по полям. Можно использовать несколько условий, раз-деляя их операторами && (обьединение И) и || (обьединение ИЛИ). Условие выгля-дит как fieldname operator value, где fieldname – имя поля документа DJEM, будь то пользовательское поле или системное, operator – тип условия (типы описаны чуть ниже), а value – строка, с которой производится сравнение. Не забудьте за-ключить значение в кавычки, если value – это строка.

Используемые операторы сравнения такие же, как в языке DJEM-script, и включают в себя:

  • =  - равно value
  • != - не равно value
  • like – содержит подстроку value
  • has – содержит значение value
  • in – содержится в value
  • gt – больше, чем value
  • lt – меньше, чем value

Пример строки поиска:  "_url like 'memory' && price gt 100 && price lt 200"

sort – параметры для сортировки выборки. Опять же используется принятый в языке DJEM-скрипт синтаксис, где условия сортировки представляют собой перечис-ление полей документа, разделенных запятой, могут содержать знак минус перед названием поля для указания обратной сортировки и знак "шарп" (#) для указания необходимости трактовать поле при сортировке как число, а не как строку. Напри-мер, строка  "-#price,_name" отсортирует результаты сначала по цене в обратном порядке, а затем, при условии совпадающей цены – по имени.

sort – ограничители выборки. Может быть указано одно число или два, разделен-ные запятыми. В случае с одним числом оно трактуется как количество вариантов, считая с начала выборки, в случае с двумя – как указание начального элемента и количества возвращаемых элементов. Например,  "2,4" означает 4 элемента, начи-ная со второго.

returnType – указывает на тип возвращаемого функцией значения. Всего может быть три варианта:

  • ids – возвращается массив идентификационных номеров документов
  • xml – возвращается массив xml-обьектов, содержащих данные документа
  • array – возвращается массив массивов, содержащих данные документа

Наиболее быстрым и предпочтительным является вызов с параметром ids, он же является значением по умолчанию.

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

См. описание параметра returnType.

 

Пример:

<?php
    require("djem.php");

    $djem = new DJEM("localhost", "base","user","pass");
    $darr = $djem->GetForeach("main.* ","_name like ‘a'","_name", false, "array");

foreach ($darr as $d) {
    echo $d["_name"] . "\n";
}
?>

Данная программа выведет имена всех документов, чье имя содержит ‘a’