Версия: 5.x
Класс EntityList
Граф наследования:EntityList:
BaseModel Api NoticeItemsApi Api BannerApi ZoneApi Api BrandApi CostApi CurrencyApi FavoriteApi DocumentApi InventorizationApi MovementApi MultiOfferLevelApi OfferApi OneClickApi OneClickItemApi PropertyApi PropertyDirApi PropertyValueApi UnitApi WareHouseApi WareHouseGroupApi Api AbstractLinkedApi AutoTaskRuleApi CallHistoryApi StatusApi TaskFilterApi Api LogApi TokenApi FieldApi FormApi ResultApi FileApi BlockedIpApi ExternalRequestCacheApi FastLinkApi LicenseApi PageSeoApi Api PhotoApi AlbumApi PushTokenApi TreeList IndexApi ActionTemplatesApi AddressApi DeliveryApi DeliveryDirApi DiscountApi PaymentApi ProductsReturnApi ReceiptApi ReservationApi ShipmentApi SubStatusApi TaxApi TransactionApi TransactionChangeLogApi ZoneApi Api Api TopicApi ContainerApi PageApi Api GroupApi LogApi

Подробное описание

Класс модели. Содержит стандартное API для работы с плоским (не древовидным) списком.

Открытые члены

 __construct (AbstractObject $orm_element, array $options=array())
 
 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=array())
 
 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 ($order= '')
 
 getOneItem ($id)
 
 getById ($id)
 
 getElement ()
 
 setElement ($object)
 
 getElementClass ()
 
 getNewElement ()
 
 save ($id=null, array $user_post=array())
 
 addFilterControl (\RS\Html\Filter\Control $filter_control)
 
 addTableControl (\RS\Html\Table\Control $table_control)
 
 del (array $ids)
 
 multiDelete ($ids)
 
 getSelectList ($first=array())
 
 multieditFormView ($tpl_path, $formfile, array $addparam=array())
 
 multiUpdate (array $data, $ids=array())
 
 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)
 
- Открытые члены унаследованные от 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=array())
 
static getSavedRequest ($key, $default=null)
 

Поля данных

const WHERE_CONDITION_VAR = 'where_conditions'
 
- Поля данных унаследованные от BaseModel
 $form_fieldname = array()
 
 $errors_by_form = array()
 
 $errors_non_form = array()
 
 $errors = array()
 

Защищенные члены

 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 = array()
 
 $parsePrefixes = array('&' => 'AND', '|' => 'OR', '' => '')
 
 $q
 
- Защищенные данные унаследованные от BaseModel
 $default_error_fieldname = 'Информация'
 

Статические защищенные данные

static $instance = []
 

Конструктор(ы)

__construct ( AbstractObject  $orm_element,
array  $options = array() 
)

Методы

addFilterControl ( \RS\Html\Filter\Control  $filter_control)

Устанавливает фильтры, от компонента

Аргументы
\RS\Html\Filter\Control$filter_control- объект фильтра
Возвращает
EntityList
addTableControl ( \RS\Html\Table\Control  $table_control)

Устанавливает сортировку от компонента

Аргументы
\RS\Html\Table\Control$table_control- объект таблицы
Возвращает
EntityList
clearFilter ( )

Очищает условия выборки

Возвращает
static
defAlias ( )

Возвращает псевдоним(alias) к таблице с которой работает класс

Возвращает
string
del ( array  $ids)

Удаляет элементы, используя механизм orm-object'ов. удаляем каждый объект персонально. Является механизмом по умолчанию

Аргументы
array$ids- массив со списком id объектов
Возвращает
bool - Возвращает true, если удаление всех элементов прошло успешно, иначе false
filterDefault (   $key,
  $value,
  $type,
  $prefix,
  $options 
)
protected

Добавляет секцию <,=,> в условие выборки

Аргументы
string$key- поле, для которого будет установлен фильтр
string$value- значение
string$type- тип фильтра. оригинальное знаение из метода setFilter
string$prefix- префикс перед фильтром (AND, OR)
array$options- массив дополнительных параметров. зарезервировано.
Возвращает
void
filterFullText (   $key,
  $value,
  $type,
  $prefix,
  $options 
)
protected

Добавляет секцию MATCH AGAINT в условие выборки

Аргументы
string$key- поле, для которого будет установлен фильтр
string$value- значение
string$type- тип фильтра. оригинальное знаение из метода setFilter
string$prefix- префикс перед фильтром (AND, OR)
array$options- массив дополнительных параметров. зарезервировано.
Возвращает
void
filterIn (   $key,
  $value,
  $type,
  $prefix,
  $options 
)
protected

Добавляет секцию IN (...) в условие выборки

Аргументы
string$key- поле, для которого будет установлен фильтр
string$value- значение
string$type- тип фильтра. оригинальное знаение из метода setFilter
string$prefix- префикс перед фильтром (AND, OR)
array$options- массив дополнительных параметров. зарезервировано.
Возвращает
void
filterIs (   $key,
  $value,
  $type,
  $prefix,
  $options 
)
protected

Добавляет секцию IS в условие выборки

Аргументы
string$key- поле, для которого будет установлен фильтр
string$value- значение
string$type- тип фильтра. оригинальное знаение из метода setFilter
string$prefix- префикс перед фильтром (AND, OR)
array$options- массив дополнительных параметров. зарезервировано.
Возвращает
void
filterLike (   $key,
  $value,
  $type,
  $prefix,
  $options 
)
protected

Добавляет секцию LIKE в условие выборки

Аргументы
string$key- поле, для которого будет установлен фильтр
string$value- значение
string$type- тип фильтра. оригинальное знаение из метода setFilter
string$prefix- префикс перед фильтром (AND, OR)
array$options- массив дополнительных параметров. зарезервировано.
Возвращает
void
filterNotin (   $key,
  $value,
  $type,
  $prefix,
  $options 
)
protected

Добавляет секцию NOT IN (...) в условие выборки

Аргументы
string$key- поле, для которого будет установлен фильтр
string$value- значение
string$type- тип фильтра. оригинальное знаение из метода setFilter
string$prefix- префикс перед фильтром (AND, OR)
array$options- массив дополнительных параметров. зарезервировано.
Возвращает
void
getAssocList (   $key_field,
  $value = null 
)

Возвращает результат выборки, согласно заданным раннее условиям, в виде ассоциативного массива

Аргументы
string$key_field- поле, значение из которого будет использовано в ключе
string  |  null$value- поле, значение которого будет использовано в качестве значения для ключа $key_field, если null, то в значение будет помещен объект выборки
Возвращает
array
getById (   $id)

Возвращает элемент по id или псевдониму

Аргументы
mixed$id- id элемента или псевдоним (псевдоним имеет больший приоритет)
Возвращает
| false
getCleanQueryObject ( )

Возвращает новый объект с установленными по-умолчанию фильтрами для выборки элементов

Возвращает
getElement ( )

Возвращает ORM объект, с которым работает данное API

Возвращает
getElementClass ( )

Возвращает класс объектов, с которыми работает данное API

Возвращает
string
getFirst (   $order = '')

Возвращает первый элемент, согласно условию

Аргументы
string$order- условие для сортировки
Возвращает
| null
getIdByAlias (   $alias_or_id,
  $alias_field = null 
)

Возвращает id элемента, если он существует, иначе false

Аргументы
mixed$alias_or_id- id элемента или псевдоним
string$alias_field- имя поля, по которому искать запись, в случае если в $id передан псевдоним
Возвращает
integer | false
Исключения
RS
getIdField ( )

Возвращает название поля, являющееся ID

Возвращает
string
getIdsByRequest ( \RS\Orm\Request  $request)

Возвращает список уникальных идентификаторов

Аргументы
\RS\Orm\Request$request
Возвращает
array
static getInstance (   $key = 'default')
static

Возвращает экземпляр текущего класса

Аргументы
string$key- идентификатор экземпляра класса
Возвращает
static
getList (   $page = null,
  $page_size = null,
  $order = null 
)

Возвращает список объектов, согласно заданным раннее условиям

Аргументы
integer$page- номер страницы
integer$page_size- количество элементов на страницу
string$order- условие сортировки
Возвращает
AbstractObject[]
getListAsArray (   $page = 0,
  $page_size = 0,
  $order = '' 
)

Возвращает список массивов, согласно заданным раннее условиям

Аргументы
integer$page- номер страницы
integer$page_size- количество элементов на страницу
string$order- условие сортировки
Возвращает
array
Исключения
DbException
getListAsResource (   $page = 0,
  $page_size = 0,
  $order = '' 
)

Возвращает результат выборки, согласно заданным раннее условиям, в виде объекта

Аргументы
integer$page- номер страницы
integer$page_size- количество элементов на страницу
string$order- условие сортировки
Возвращает
getListCount ( )

Возвращает общее количество элементов, согласно условию.

Возвращает
integer
getNameField ( )

Возвращает поле, в котором находится название записи

Возвращает
string
getNewElement ( )

Возвращает новый экземпляр объекта, с которым работает данное API

Возвращает
getOneItem (   $id)

Загружает из базы 1 элемент

Аргументы
mixed$id
Возвращает
| false
getPagedList (   $page_size)

Возвращает результат выборки, согласно заданным раннее условиям, в виде объекта-пагинатора

Возвращает
static getSavedRequest (   $key,
  $default = null 
)
static

Возвращает сохраненные раннее в сессии условия выборки

Аргументы
mixed$keyключ
mixed$defaultзначение, возвращаемое в случае отсутствия ключа
Возвращает
mixed
getSelectList (   $first = array())

Возвращает список для отображения в html элементе select

Аргументы
array$first- значения, которые нужно добавить в начало списка
Возвращает
array
getSiteContext ( )

Возвращает id сайта, в рамках которого будут выбираться записи

Возвращает
integer
getSiteIdField ( )

Возвращает название поля, содержащего ID сайта

Возвращает
string
isMultisite ( )

Возвращает true, если данные объекта связаны с ID сайта

Возвращает
bool
loadAssocList (   $key_field,
  $value = null 
)

Возвращает результат выборки, согласно заданным раннее условиям, в виде ассоциативного массива

Аргументы
string$key_field- поле, значение из которого будет использовано в ключе
string  |  null$value- поле, значение которого будет использовано в качестве значения для ключа $key_field, если null, то в значение будет помещен объект выборки
Возвращает
array
moveArrayDown (   $arr)
protected

Передвигает элемент в конец списка

Аргументы
array$arr- массив со списком любых элементов
Возвращает
array
moveArrayUp (   $arr)
protected

Передвигает элемент в начало списка

Аргументы
array$arr- массив со списком любых элементов
Возвращает
array
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- объект с установленными уточняющими условиями, для выборки объектов сортировки
Возвращает
bool
multiDelete (   $ids)

Удаление, используя частный механизм. Этот метод нужно перегрузить у наследников, если имеется более быстрый алгоритм удаления.

Аргументы
array$ids- массив со списком id объектов
Возвращает
bool - Возвращает true, если удаление всех элементов прошло успешно, иначе false
multieditFormView (   $tpl_path,
  $formfile,
array  $addparam = array() 
)

Возвращает html формы группового редактирования объектов

Возвращает
string
multiUpdate ( array  $data,
  $ids = array() 
)

Обновляет свойства у группы объектов

Аргументы
array$data- ассоциативный массив со значениями обновляемых полей
array$ids- список id объектов, которые нужно обновить
Возвращает
int - возвращает количество обновленных элементов
Исключения
DbException
noWriteRights (   $right = DefaultModuleRights::RIGHT_UPDATE)

Возвращает true, если у текущего класса нет прав на запись. Текст ошибки можно получить через getErrors

Возвращает
bool
parseArrayFilter (   $filters)
protected

Рекурсивно парсит групповые фильтры

Аргументы
array$filters- массив с групповыми фильтрами. Формат - см. метод setFilter
Возвращает
void
queryObj ( )

Возвращает объект выборки элементов

Возвращает
resetQueryObject ( )

Сбрасывает условие выборки элементов на значение по умолчанию

Возвращает
EntityList
save (   $id = null,
array  $user_post = array() 
)

Сохраняет элемент, с которым работает данное API, принимая значения из POST

Аргументы
mixed$id- id элемента, если задано, то будет вызван update, иначе insert
array$user_post- дополнительные значения, которые необходимо задать элементу
Возвращает
bool
saveRequest (   $key)

Сохраяет текущие условия выборки в сессии

Аргументы
mixed$key- ключ для последующего обращения.
Возвращает
void
setAliasField (   $field)

Устанавливает поле, в котором находится символьный идентификатор записи.

Аргументы
string$field- поле ORM Объекта
Возвращает
EntityList
setDefaultOrder (   $order)

Устанавливает сортировку по-умолчанию

Аргументы
string$order- условие для секции ORDER BY
Возвращает
EntityList
setElement (   $object)

Устанавливает объект для даннго api

Аргументы
mixed$object
Возвращает
EntityList
setFilter (   $key,
  $value = null,
  $type = '=',
  $prefix = 'AND',
array  $options = array() 
)

Устанавливает фильтр для последующей выборки элементов

Аргументы
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
Возвращает
EntityList
setGroup (   $group = null)

Устанавливает группировку последующей выборки

Аргументы
mixed$order
Возвращает
EntityList
setIdField (   $field)

Устнавливает поле, в котором находится уникальный идентификатор записи. Обычно это поле "id"

Аргументы
string$field- поле ORM объекта
Возвращает
EntityList
setLoadOnDelete (   $bool)

Если передано True, то перед удалением объект будет полностью загружаться по ID. Иначе объекту будет проставлено только поле ID

Аргументы
bool$bool
Возвращает
EntityList
setMultisite (   $bool)

Устанавливает, связаны ли данные ORM объекта с конкретным сайтом. Или объект имеет общие данные для всех сайтов.

Аргументы
bool$bool- Если задано True, то ко всем выборкам будет добавлено условие WHERE site_id = ID сайта
Возвращает
EntityList
setNameField (   $field)

Устанавливает поле, в котором находится название записи. Например для товара это поле: "title", в котором находится название товара.

Аргументы
string$field- поле ORM объекта
Возвращает
EntityList
setOrder (   $order = null,
array  $values = null 
)

Устанавливает сортировку последующей выборки

Аргументы
string$order- условие сортировки, будет подставлено в SQL запрос
Возвращает
EntityList
setPage (   $page,
  $pageSize 
)
protected

Устанавливает страницу и количество элементов на страницу для выборки

Аргументы
integer$page- номер страницы
integer$pageSize- количество элементов на страницу
Возвращает
EntityList
setQueryObj ( \RS\Orm\Request  $q)

Устанавливает объект выборки элементов

Аргументы
\RS\Orm\Request$q
Возвращает
EntityList
setSiteContext (   $site_id = null)

Устанавливает id сайта, в рамках которого будут выбираться данные для объекта

Аргументы
integer$site_id- ID сайта
Возвращает
EntityList
setSortField (   $field)

Устанавливает поле, в котором находится сортировочный индекс.

Аргументы
string$field- поле ORM Объекта
Возвращает
EntityList
static staticSelectList (   $first = array())
static

Аналог getSelectList, только для статичского вызова

Аргументы
array$first- значения, которые нужно добавить в начало списка
Возвращает
array

Поля

$alias_field
protected
$assocPlainList = array()
protected
$def_table_alias = 'A'
protected
$default_order
protected
$filter_active = false
protected
$id_field = 'id'
protected
$instance = []
staticprotected
$is_multisite = false
protected
$load_on_delete = false
protected
$multiedit_template = '%system%/coreobject/multiedit_form.tpl'
protected
$name_field
protected
$obj
protected
$obj_instance
protected
$parsePrefixes = array('&' => 'AND', '|' => 'OR', '' => '')
protected
$q
protected
$site_context
protected
$site_id_field = 'site_id'
protected
$sort_field
protected
const WHERE_CONDITION_VAR = 'where_conditions'