Класс модели. Содержит стандартное API для работы с плоским (не древовидным) списком.
Открытые члены | |
| __construct (AbstractObject $orm_element, array $options=[]) | |
| setDefaultOrder ($order) | |
| getNameField () | |
| setNameField ($field) | |
| setAliasField ($field) | |
| setSortField ($field) | |
| setIdField ($field) | |
| getIdField () | |
| getSiteIdField () | |
| setLoadOnDelete ($bool) | |
| setSiteContext ($site_id=null) | |
| getSiteContext () | |
| setMultisite ($bool) | |
| isMultisite () | |
| resetQueryObject () | |
| getCleanQueryObject () | |
| queryObj () | |
| setQueryObj (\RS\Orm\Request $q) | |
| defAlias () | |
| setFilter ($key, $value=null, $type= '=', $prefix= 'AND', array $options=[]) | |
| clearFilter () | |
| getList ($page=null, $page_size=null, $order=null) | |
| getListAsArray ($page=0, $page_size=0, $order= '') | |
| getListAsResource ($page=0, $page_size=0, $order= '') | |
| getPagedList ($page_size) | |
| loadAssocList ($key_field, $value=null) | |
| getAssocList ($key_field, $value=null) | |
| setOrder ($order=null, array $values=null) | |
| setGroup ($group=null) | |
| getListCount () | |
| getFirst () | |
| getOneItem ($id) | |
| getById ($id, $request=null) | |
| getElement () | |
| setElement ($object) | |
| getElementClass () | |
| getNewElement () | |
| save ($id=null, array $user_post=[]) | |
| addFilterControl (\RS\Html\Filter\Control $filter_control) | |
| addTableControl (\RS\Html\Table\Control $table_control) | |
| del (array $ids) | |
| multiDelete ($ids) | |
| getSelectList ($first=[]) | |
| multieditFormView ($tpl_path, $formfile, array $addparam=[]) | |
| multiUpdate (array $data, $ids=[]) | |
| moveElement ($from, $to, $flag,\RS\Orm\Request $extra_expr=null) | |
| noWriteRights ($right=DefaultModuleRights::RIGHT_UPDATE) | |
| getIdByAlias ($alias_or_id, $alias_field=null) | |
| saveRequest ($key) | |
| getIdsByRequest (\RS\Orm\Request $request) | |
| __set ($name, $value) | |
| __get ($name) | |
| __isset ($name) | |
| __unset ($name) | |
Открытые члены унаследованные от BaseModel | |
| addError ($message, $fieldname=null, $form=null) | |
| hasError () | |
| getErrors () | |
| cleanErrors () | |
| getDisplayErrors () | |
| getErrorsStr () | |
| getFormErrors ($form, $separator= ', ') | |
| getNonFormErrors ($separator= ', ') | |
| exportErrors () | |
| importErrors ($data) | |
Открытые статические члены | |
| static | getInstance ($key= 'default') |
| static | staticSelectList ($first=[]) |
| static | getSavedRequest ($key, $default=null) |
Поля данных | |
| const | WHERE_CONDITION_VAR = 'where_conditions' |
Поля данных унаследованные от BaseModel | |
| $form_fieldname = [] | |
| $errors_by_form = [] | |
| $errors_non_form = [] | |
| $errors = [] | |
Защищенные члены | |
| parseArrayFilter ($filters) | |
| filterLike ($key, $value, $type, $prefix, $options) | |
| filterIs ($key, $value, $type, $prefix, $options) | |
| filterFullText ($key, $value, $type, $prefix, $options) | |
| filterIn ($key, $value, $type, $prefix, $options) | |
| filterNotin ($key, $value, $type, $prefix, $options) | |
| filterDefault ($key, $value, $type, $prefix, $options) | |
| setPage ($page, $pageSize) | |
| moveArrayUp ($arr) | |
| moveArrayDown ($arr) | |
Защищенные данные | |
| $default_order | |
| $load_on_delete = false | |
| $id_field = 'id' | |
| $alias_field | |
| $sort_field | |
| $name_field | |
| $site_id_field = 'site_id' | |
| $is_multisite = false | |
| $site_context | |
| $def_table_alias = 'A' | |
| $obj | |
| $obj_instance | |
| $filter_active = false | |
| $multiedit_template = '%system%/coreobject/multiedit_form.tpl' | |
| $assocPlainList = [] | |
| $parsePrefixes = ['&' => 'AND' | |
| $cache_alias = [] | |
| $options = [] | |
| $q | |
Защищенные данные унаследованные от BaseModel | |
| $default_error_fieldname = 'Информация' | |
Статические защищенные данные | |
| static | $instance = [] |
| __construct | ( | AbstractObject | $orm_element, |
| array | $options = [] |
||
| ) |
| __get | ( | $name | ) |
Возвращает значение произвольного свойства
| string | $name | Идентификатор свойства |
| __isset | ( | $name | ) |
Возвращает true, если произвольное свойство существует (было задано)
| string | $name | Идентификатор свойства |
| __set | ( | $name, | |
| $value | |||
| ) |
Обрабатывает установку произвольных свойств
| string | $name | Идентификатор свойства |
| mixed | $value |
| __unset | ( | $name | ) |
Удаляет произвольное свойство
| string | $name | Идентификатор свойства |
| addFilterControl | ( | \RS\Html\Filter\Control | $filter_control | ) |
Устанавливает фильтры, от компонента
| \RS\Html\Filter\Control | $filter_control | - объект фильтра |
| addTableControl | ( | \RS\Html\Table\Control | $table_control | ) |
Устанавливает сортировку от компонента
| \RS\Html\Table\Control | $table_control | - объект таблицы |
| clearFilter | ( | ) |
Очищает условия выборки
| defAlias | ( | ) |
Возвращает псевдоним(alias) к таблице с которой работает класс
| del | ( | array | $ids | ) |
Удаляет элементы, используя механизм orm-object'ов. удаляем каждый объект персонально. Является механизмом по умолчанию
| array | $ids | - массив со списком id объектов |
|
protected |
Добавляет секцию <,=,> в условие выборки
| string | $key | - поле, для которого будет установлен фильтр |
| string | $value | - значение |
| string | $type | - тип фильтра. оригинальное знаение из метода setFilter |
| string | $prefix | - префикс перед фильтром (AND, OR) |
| array | $options | - массив дополнительных параметров. зарезервировано. |
|
protected |
Добавляет секцию MATCH AGAINT в условие выборки
| string | $key | - поле, для которого будет установлен фильтр |
| string | $value | - значение |
| string | $type | - тип фильтра. оригинальное знаение из метода setFilter |
| string | $prefix | - префикс перед фильтром (AND, OR) |
| array | $options | - массив дополнительных параметров. зарезервировано. |
|
protected |
Добавляет секцию IN (...) в условие выборки
| string | $key | - поле, для которого будет установлен фильтр |
| string | $value | - значение |
| string | $type | - тип фильтра. оригинальное знаение из метода setFilter |
| string | $prefix | - префикс перед фильтром (AND, OR) |
| array | $options | - массив дополнительных параметров. зарезервировано. |
|
protected |
Добавляет секцию IS в условие выборки
| string | $key | - поле, для которого будет установлен фильтр |
| string | $value | - значение |
| string | $type | - тип фильтра. оригинальное знаение из метода setFilter |
| string | $prefix | - префикс перед фильтром (AND, OR) |
| array | $options | - массив дополнительных параметров. зарезервировано. |
|
protected |
Добавляет секцию LIKE в условие выборки
| string | $key | - поле, для которого будет установлен фильтр |
| string | $value | - значение |
| string | $type | - тип фильтра. оригинальное знаение из метода setFilter |
| string | $prefix | - префикс перед фильтром (AND, OR) |
| array | $options | - массив дополнительных параметров. зарезервировано. |
|
protected |
Добавляет секцию NOT IN (...) в условие выборки
| string | $key | - поле, для которого будет установлен фильтр |
| string | $value | - значение |
| string | $type | - тип фильтра. оригинальное знаение из метода setFilter |
| string | $prefix | - префикс перед фильтром (AND, OR) |
| array | $options | - массив дополнительных параметров. зарезервировано. |
| getAssocList | ( | $key_field, | |
$value = null |
|||
| ) |
Возвращает результат выборки, согласно заданным раннее условиям, в виде ассоциативного массива
| string | $key_field | - поле, значение из которого будет использовано в ключе |
| string | null | $value | - поле, значение которого будет использовано в качестве значения для ключа $key_field, если null, то в значение будет помещен объект выборки |
| getById | ( | $id, | |
$request = null |
|||
| ) |
Возвращает элемент по id или псевдониму
| mixed | $id | - id элемента или псевдоним (псевдоним имеет больший приоритет) |
| Request | $request | - произвольный объект для запроса |
| getCleanQueryObject | ( | ) |
Возвращает новый объект с установленными по-умолчанию фильтрами для выборки элементов
| getElement | ( | ) |
Возвращает ORM объект, с которым работает данное API
| getElementClass | ( | ) |
Возвращает класс объектов, с которыми работает данное API
| getFirst | ( | ) |
Возвращает первый элемент, согласно условию
| getIdByAlias | ( | $alias_or_id, | |
$alias_field = null |
|||
| ) |
Возвращает id элемента, если он существует, иначе false
| mixed | $alias_or_id | - id элемента или псевдоним |
| string | $alias_field | - имя поля, по которому искать запись, в случае если в $id передан псевдоним |
| \RS\Db\Exception |
| getIdField | ( | ) |
Возвращает название поля, являющееся ID
| getIdsByRequest | ( | \RS\Orm\Request | $request | ) |
Возвращает список уникальных идентификаторов
| \RS\Orm\Request | $request |
|
static |
Возвращает экземпляр текущего класса
| string | $key | - идентификатор экземпляра класса |
| getList | ( | $page = null, |
|
$page_size = null, |
|||
$order = null |
|||
| ) |
Возвращает список объектов, согласно заданным раннее условиям
| integer | $page | - номер страницы |
| integer | $page_size | - количество элементов на страницу |
| string | $order | - условие сортировки |
| getListAsArray | ( | $page = 0, |
|
$page_size = 0, |
|||
$order = '' |
|||
| ) |
Возвращает список массивов, согласно заданным раннее условиям
| integer | $page | - номер страницы |
| integer | $page_size | - количество элементов на страницу |
| string | $order | - условие сортировки |
| getListAsResource | ( | $page = 0, |
|
$page_size = 0, |
|||
$order = '' |
|||
| ) |
Возвращает результат выборки, согласно заданным раннее условиям, в виде объекта
| integer | $page | - номер страницы |
| integer | $page_size | - количество элементов на страницу |
| string | $order | - условие сортировки |
| getListCount | ( | ) |
Возвращает общее количество элементов, согласно условию.
| getNameField | ( | ) |
Возвращает поле, в котором находится название записи
| getNewElement | ( | ) |
Возвращает новый экземпляр объекта, с которым работает данное API
| getOneItem | ( | $id | ) |
Загружает из базы 1 элемент
| mixed | $id |
| getPagedList | ( | $page_size | ) |
Возвращает результат выборки, согласно заданным раннее условиям, в виде объекта-пагинатора
|
static |
Возвращает сохраненные раннее в сессии условия выборки
| mixed | $key | ключ |
| mixed | $default | значение, возвращаемое в случае отсутствия ключа |
| getSelectList | ( | $first = [] | ) |
Возвращает список для отображения в html элементе select
| array | $first | - значения, которые нужно добавить в начало списка |
| getSiteContext | ( | ) |
Возвращает id сайта, в рамках которого будут выбираться записи
| getSiteIdField | ( | ) |
Возвращает название поля, содержащего ID сайта
| isMultisite | ( | ) |
Возвращает true, если данные объекта связаны с ID сайта
| loadAssocList | ( | $key_field, | |
$value = null |
|||
| ) |
Возвращает результат выборки, согласно заданным раннее условиям, в виде ассоциативного массива
| string | $key_field | - поле, значение из которого будет использовано в ключе |
| string | null | $value | - поле, значение которого будет использовано в качестве значения для ключа $key_field, если null, то в значение будет помещен объект выборки |
|
protected |
Передвигает элемент в конец списка
| array | $arr | - массив со списком любых элементов |
|
protected |
Передвигает элемент в начало списка
| array | $arr | - массив со списком любых элементов |
| moveElement | ( | $from, | |
| $to, | |||
| $flag, | |||
| \RS\Orm\Request | $extra_expr = null |
||
| ) |
Перемещает элемент from на место элемента to. Если flag = 'up', то до элемента to, иначе после
| int | $from | - id элемента, который переносится |
| int | $to | - id ближайшего элемента, возле которого должен располагаться элемент |
| string | $flag | - up или down - флаг выше или ниже элемента $to должен располагаться элемент $from |
| \RS\Orm\Request | $extra_expr | - объект с установленными уточняющими условиями, для выборки объектов сортировки |
| multiDelete | ( | $ids | ) |
Удаление, используя частный механизм. Этот метод нужно перегрузить у наследников, если имеется более быстрый алгоритм удаления.
| array | $ids | - массив со списком id объектов |
| multieditFormView | ( | $tpl_path, | |
| $formfile, | |||
| array | $addparam = [] |
||
| ) |
Возвращает html формы группового редактирования объектов
| multiUpdate | ( | array | $data, |
$ids = [] |
|||
| ) |
Обновляет свойства у группы объектов
| array | $data | - ассоциативный массив со значениями обновляемых полей |
| array | $ids | - список id объектов, которые нужно обновить |
| noWriteRights | ( | $right = DefaultModuleRights::RIGHT_UPDATE | ) |
Возвращает true, если у текущего класса нет прав на запись. Текст ошибки можно получить через getErrors
|
protected |
Рекурсивно парсит групповые фильтры
| array | $filters | - массив с групповыми фильтрами. Формат - см. метод setFilter |
| queryObj | ( | ) |
Возвращает объект выборки элементов
| resetQueryObject | ( | ) |
Сбрасывает условие выборки элементов на значение по умолчанию
| save | ( | $id = null, |
|
| array | $user_post = [] |
||
| ) |
Сохраняет элемент, с которым работает данное API, принимая значения из POST
| mixed | $id | - id элемента, если задано, то будет вызван update, иначе insert |
| array | $user_post | - дополнительные значения, которые необходимо задать элементу |
| saveRequest | ( | $key | ) |
Сохраяет текущие условия выборки в сессии
| mixed | $key | - ключ для последующего обращения. |
| setAliasField | ( | $field | ) |
Устанавливает поле, в котором находится символьный идентификатор записи.
| string | $field | - поле ORM Объекта |
| setDefaultOrder | ( | $order | ) |
Устанавливает сортировку по-умолчанию
| string | $order | - условие для секции ORDER BY |
| setElement | ( | $object | ) |
| setFilter | ( | $key, | |
$value = null, |
|||
$type = '=', |
|||
$prefix = 'AND', |
|||
| array | $options = [] |
||
| ) |
Устанавливает фильтр для последующей выборки элементов
| string | array | $key | - имя поля (соответствует имени поля в БД) или массив для установки группового фильтра Пример применения группового фильтра: array( 'title' => 'Название', // AND title = 'Название' '|title:like' => 'Текст' // OR title LIKE 'Текст' '&title:like' => 'Текст' // AND title LIKE 'Текст' 'years:>' => 18, // AND years > 18 'years:<' => 21, // AND years < 21 ' years:>' => 30, // AND years > 30 #пробелы по краям вырезаются ' years:<' => 40, // AND years < 40 #пробелы по краям вырезаются 'id:in' => '12,23,45,67,34', // AND id IN (12,23,45,67,34) '|id:notin' => '44,33,23' // OR id NOT IN (44,33,23) 'id:is' => 'NULL' // AND id IS NULL 'id:is' => 'NOT NULL' // AND id IS NOT NULL |
array( // AND ( 'name' => 'Артем', // name = 'Артем' '|name' => 'Олег' // OR name = 'Олег' ), // )
'|' => array( // OR ( 'surname' => 'Петров' // surname = 'Петров' '|surname' => 'Иванов' // OR surname = 'Иванов' ) // ) ) Общая маска ключей массива: [пробелы][&|]ИМЯ ПОЛЯ[:ТИП ФИЛЬТРА]
| mixed | $value | - значение |
| string | $type | - =,<,>, in, notin, fulltext, like%, like%, like тип соответствия поля значению. |
| string | $prefix | условие связки с предыдущими условиями (AND/OR/...) |
| array | $options |
| setGroup | ( | $group = null | ) |
| setIdField | ( | $field | ) |
Устнавливает поле, в котором находится уникальный идентификатор записи. Обычно это поле "id"
| string | $field | - поле ORM объекта |
| setLoadOnDelete | ( | $bool | ) |
Если передано True, то перед удалением объект будет полностью загружаться по ID. Иначе объекту будет проставлено только поле ID
| bool | $bool |
| setMultisite | ( | $bool | ) |
Устанавливает, связаны ли данные ORM объекта с конкретным сайтом. Или объект имеет общие данные для всех сайтов.
| bool | $bool | - Если задано True, то ко всем выборкам будет добавлено условие WHERE site_id = ID сайта |
| setNameField | ( | $field | ) |
Устанавливает поле, в котором находится название записи. Например для товара это поле: "title", в котором находится название товара.
| string | $field | - поле ORM объекта |
| setOrder | ( | $order = null, |
|
| array | $values = null |
||
| ) |
Устанавливает сортировку последующей выборки
| string | $order | - условие сортировки, будет подставлено в SQL запрос |
|
protected |
Устанавливает страницу и количество элементов на страницу для выборки
| integer | $page | - номер страницы |
| integer | $pageSize | - количество элементов на страницу |
| setQueryObj | ( | \RS\Orm\Request | $q | ) |
| setSiteContext | ( | $site_id = null | ) |
Устанавливает id сайта, в рамках которого будут выбираться данные для объекта
| integer | $site_id | - ID сайта |
| setSortField | ( | $field | ) |
Устанавливает поле, в котором находится сортировочный индекс.
| string | $field | - поле ORM Объекта |
|
static |
Аналог getSelectList, только для статического вызова
| array | $first | - значения, которые нужно добавить в начало списка |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| const WHERE_CONDITION_VAR = 'where_conditions' |