Класс модели. Содержит стандартное 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' |