ListModel
扩展 BaseDatabaseModel 实现 FormFactoryAwareInterface, ListModelInterface用于处理项目列表的模型类。
自 |
1.6 |
---|---|
包 |
Joomla CMS |
方法
__construct
构造函数
__construct(mixed||string|int config = [], \Joomla\CMS\MVC\Factory\MVCFactoryInterface factory = null) :
自 |
1.6 |
---|---|
抛出 |
|
参数
- config
array<string|int, mixed>
配置选项数组(名称、状态、dbo、table_path、ignore_request)。- factory
MVCFactoryInterface|null
工厂。
响应
混合
__get
_db 变量的代理。
__get( name) :
自 |
4.2.0 |
---|---|
已弃用 |
4.3 将在 6.0 中移除,请使用 getDatabase() 而不是直接访问 _db |
参数
- name
string
元素的名称
响应
mixed
如果设置了元素的值,则为元素的值,否则为 null
_createFileName
创建资源的文件名
_createFileName( type, mixed||string|int parts = []) :
自 |
3.0 |
---|---|
已弃用 |
4.3 将在 6.0 中移除,将无替换地移除 |
参数
- type
string
要为其创建文件名的资源类型。- parts
array<string|int, mixed>
文件名信息的关联数组。
响应
string
文件名
_createTable
加载并返回一个表对象的方法。
_createTable( name, prefix = 'Table', mixed||string|int config = []) : \Joomla\CMS\Table\Table|bool
自 |
3.0 |
---|---|
参见 | Table::getInstance() |
参数
- name
string
视图的名称- prefix
string
类前缀。可选。- config
array<string|int, mixed>
要传递给 Table::getInstance 的配置设置
响应
Table|bool
表对象或如果失败则为布尔值 false
_getList
从数据库查询结果中获取一组对象。
_getList(\Joomla\Database\DatabaseQuery|string query, limitstart, limit) : object||string|int
自 |
3.0 |
---|---|
抛出 |
|
参数
- query
DatabaseQuery|string
查询。- limitstart
int
偏移量。- limit
int
记录数。
响应
array<string|int, object>
结果数组。
_getListCount
返回查询的记录数。
_getListCount(\Joomla\Database\DatabaseQuery|string query) :
注意:此方法的当前实现假定 getListQuery() 返回一组唯一的行,因此它使用 SELECT COUNT(*) 来计算行。在 getListQuery() 使用 DISTINCT 的情况下,要么此方法必须被派生模型类中的自定义实现覆盖,要么应该使用 GROUP BY 子句来使集合唯一。
自 |
3.0 |
---|
参数
- query
DatabaseQuery|string
查询。
响应
int
查询的行数。
_getListQuery
缓存最后构建的查询的方法。
_getListQuery() : \Joomla\Database\DatabaseQuery
此方法确保查询只为模型的给定状态构建一次。
自 |
1.6 |
---|
响应
DatabaseQuery
一个 DatabaseQuery 对象
addIncludePath
添加 \JModelLegacy 应该在其中搜索模型的目录。您可以传递一个字符串或目录数组。
addIncludePath( path = '', prefix = '') : mixed||string|int
addTablePath
按后进先出顺序将模型表路径添加到堆栈中。
addTablePath( path) :
自 |
3.0 |
---|---|
已弃用 |
4.3 将在 6.0 中移除,将无替换地移除。通过 MVCFactory 获取模型,而不是 |
参数
- path
mixed
要添加的目录,可以是字符串或目录数组。
响应
void
bootComponent
启动给定名称的组件。
bootComponent( component) : \Joomla\CMS\Extension\ComponentInterface
cleanCache
清除缓存
cleanCache( group = null) :
自 |
3.0 |
---|
参数
- group
string
缓存组
响应
void
createModelFromComponent
通过从前缀加载组件来返回一个模型对象。
createModelFromComponent( type, prefix = '', mixed||string|int config = []) : \Joomla\CMS\MVC\Model\ModelInterface|null
自 |
4.0.0 |
---|---|
已弃用 |
4.3 将在 6.0 中移除,将无替换地移除 |
参数
- type
string
要实例化的模型类型- prefix
string
模型类名称的前缀。可选。- config
array<string|int, mixed>
模型的配置数组。可选。
响应
ModelInterface|null
一个 ModelInterface 实例或失败时的 null
def
如果尚未分配,则设置默认值
def( property, default = null) :
自 |
1.7.0 |
---|---|
已弃用 |
4.3.0 将在 6.0 中移除,不再使用定义动态属性 |
参数
- property
string
属性的名称。- default
mixed
默认值。
响应
混合
dispatchEvent
在内部调度程序上分派给定的事件,回退到全局调度程序。
dispatchEvent(\Joomla\Event\EventInterface event) :
自 |
4.1.0 |
---|---|
已弃用 |
4.4 将在 6.0 中移除。直接使用 $this->getDispatcher()。 |
参数
- event
EventInterface
事件
响应
void
get
返回对象的属性或属性未设置时的默认值。
get( property, default = null) :
自 |
1.7.0 |
---|---|
参见 | CMSObject::getProperties() |
已弃用 |
4.3.0 将在 6.0 中移除,为属性创建一个合适的 getter 函数 |
参数
- property
string
属性的名称。- default
mixed
默认值。
响应
mixed
属性的值。
getActiveFilters
获取活动过滤器的函数
getActiveFilters() : mixed||string|int
自 |
3.2 |
---|
响应
array<string|int, mixed>
格式为:array('filter_published' => 0) 的关联数组
getCacheControllerFactory
获取 CacheControllerFactoryInterface。
getCacheControllerFactory() : \Joomla\CMS\Cache\CacheControllerFactoryInterface
getCurrentUser
返回当前用户,如果未设置任何用户,则返回全局应用程序的标识。这将在 6.0 中更改,并将返回一个空用户。
getCurrentUser() : \Joomla\CMS\User\User
getDbo
获取数据库驱动程序。
getDbo() : \Joomla\Database\DatabaseInterface
自 |
4.2.0 |
---|---|
抛出 |
|
已弃用 |
4.3 将在 6.0 中移除,请使用 getDatabase(),例如:$model->getDatabase(); |
响应
DatabaseInterface
数据库驱动程序。
getDispatcher
获取事件调度程序。
getDispatcher() : \Joomla\Event\DispatcherInterface
覆盖是为了保持对遗留组件的向后兼容性。TODO:在 6.0 中删除覆盖。
自 |
4.4.0 |
---|---|
抛出 |
|
响应
DispatcherInterface
getEmptyStateQuery
提供一个查询来评估这是否是一个空状态,可以在模型中覆盖以提供粒度控制。
getEmptyStateQuery() : \Joomla\Database\DatabaseQuery
自 |
4.0.0 |
---|
响应
DatabaseQuery
getError
获取最新的错误消息。
getError( i = null, toString = true) :
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 将在 6.0 中移除,将无替换地移除,请捕获抛出的异常,而不是 getError |
参数
- i
int
可选错误索引。- toString
bool
指示 Exception 对象是否应该返回它们的错误消息。
响应
string
错误消息
getErrors
返回所有错误(如果有)。
getErrors() : mixed||string|int
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 将在 6.0 中移除,将无替换地移除,请捕获抛出的异常,而不是 getErrors |
响应
array<string|int, mixed>
错误消息数组。
getFilterForm
获取过滤器表单
getFilterForm(mixed||string|int data = [], loadData = true) : \Joomla\CMS\Form\Form|null
getFormFactory
获取 FormFactoryInterface。
getFormFactory() : \Joomla\CMS\Form\FormFactoryInterface
getInstance
返回一个模型对象,始终创建它
getInstance( type, prefix = '', mixed||string|int config = []) : self|bool
自 |
3.0 |
---|---|
已弃用 |
4.3 将在 6.0 中移除,将无替换地移除。通过 MVCFactory 获取模型,而不是 例如:Factory::getApplication->bootComponent('com_xxx')->getMVCFactory()->createModel($type, $prefix, $config); |
参数
- type
string
要实例化的模型类型- prefix
string
模型类名称的前缀。可选。- config
array<string|int, mixed>
模型的配置数组。可选。
响应
self|bool
一个 \JModelLegacy 实例或失败时的 false
getIsEmptyState
这是否是一个空状态,即:无论搜索的什么状态,此类型都没有项目。
getIsEmptyState() :
抛出 |
|
---|---|
自 |
4.0.0 |
响应
bool
getItems
获取数据项数组的方法。
getItems() :
自 |
1.6 |
---|
响应
mixed
成功时的数据项数组,失败时的 false。
getListQuery
获取用于从数据库检索数据集的 DatabaseQuery 对象的方法。
getListQuery() : \Joomla\Database\DatabaseQuery|string
自 |
1.6 |
---|
响应
DatabaseQuery|string
一个用于检索数据集的 DatabaseQuery 对象。
getMVCFactory
返回 MVC 工厂。
getMVCFactory() : \Joomla\CMS\MVC\Factory\MVCFactoryInterface
getName
获取模型名称的方法
getName() :
模型名称。默认情况下使用类名解析,也可以通过在类构造函数中传递 $config['name'] 来设置
自 |
4.0.0 |
---|---|
抛出 |
|
响应
string
模型的名称
getPagination
获取数据集 \JPagination 对象的方法。
getPagination() : \Joomla\CMS\Pagination\Pagination
getProperties
返回一个包含对象属性的关联数组。
getProperties( public = true) : mixed||string|int
自 |
1.7.0 |
---|---|
参见 | CMSObject::get() |
已弃用 |
4.3.0 将在 6.0 中移除,为属性创建一个合适的 getter 函数 |
参数
- public
bool
如果为真,则仅返回公有属性。
响应
array<string|int, mixed>
getStart
获取数据集起始项数的方法。
getStart() :
自 |
1.6 |
---|
响应
int
数据集中可用的起始项数。
getState
获取状态变量的方法。
getState( property = null, default = null) :
自 |
4.0.0 |
---|
参数
- property
string
可选参数名称- default
mixed
可选默认值
响应
mixed
指定属性,省略则为状态对象
getStoreId
根据模型配置状态获取存储 ID 的方法。
getStoreId( id = '') :
这是必需的,因为该模型由组件和不同的模块使用,这些模块可能需要不同的数据集或不同的排序要求。
自 |
1.6 |
---|
参数
- id
string
用于生成存储 ID 的标识符字符串。
响应
string
存储 ID。
getTable
获取表格对象的方法,必要时加载。
getTable( name = '', prefix = '', mixed||string|int options = []) : \Joomla\CMS\Table\Table
自 |
3.0 |
---|---|
抛出 |
|
参数
- name
string
表格名称。可选。- prefix
string
类前缀。可选。- options
array<string|int, mixed>
模型的配置数组。可选。
响应
Table
表格对象
getTotal
获取数据集总项数的方法。
getTotal() :
自 |
1.6 |
---|
响应
int
数据集中可用的总项数。
getUserStateFromRequest
获取用户状态变量的值并将其设置在会话中
getUserStateFromRequest( key, request, default = null, type = 'none', resetPage = true) :
这与 Application 中的方法相同,不同的是,这还可以选择在过滤器更改时强制您返回第一页
自 |
1.6 |
---|
参数
- key
string
用户状态变量的键。- request
string
请求中传递的变量名称。- default
string
如果未找到,则为变量的默认值。可选。- type
string
变量的过滤器。可选。@see \Joomla\CMS\Filter\InputFilter::clean() 获取有效值。- resetPage
bool
如果为真,则请求中的 limitstart 设置为零
响应
mixed
请求用户状态。
isCheckedOut
检查给定记录是否被当前用户签出的方法
isCheckedOut(\stdClass item) :
参数
- item
stdClass
要检查的记录
响应
bool
loadForm
获取表单对象的方法。
loadForm( name, source = null, mixed||string|int options = [], clear = false, xpath = null) : \Joomla\CMS\Form\Form
loadFormData
获取应注入表单的数据的方法。
loadFormData() :
自 |
3.2 |
---|
响应
mixed
表单的数据。
populateState
自动填充模型状态的方法。
populateState( ordering = null, direction = null) :
此方法应仅在每次实例化时调用一次,并且设计为在第一次调用 getState() 方法时调用,除非模型配置标志设置为忽略请求。
注意。在此方法中调用 getState 会导致递归。
自 |
1.6 |
---|
参数
- ordering
string
可选排序字段。- direction
string
可选方向 (asc|desc)。
响应
void
preprocessData
允许派生类预处理数据的方法。
preprocessData( context, &data, group = 'content') :
自 |
4.0.0 |
---|
参数
- context
string
上下文标识符。- data
mixed
要处理的数据。它会直接被更改。- group
string
要导入的插件组的名称(默认为“content”)。
响应
void
preprocessForm
允许派生类预处理表单的方法。
preprocessForm(\Joomla\CMS\Form\Form form, data, group = 'content') :
refineSearchStringToRegex
解析并转换搜索字符串,使其适合对任意字符串进行正则表达式匹配
refineSearchStringToRegex( search, regexDelimiter = '/') :
自 |
3.4 |
---|
参数
- search
string
搜索字符串- regexDelimiter
string
用于引用的正则表达式分隔符
响应
string
为正则表达式转义的搜索字符串
set
修改对象的属性,如果该属性不存在,则创建该属性。
set( property, value = null) :
自 |
1.7.0 |
---|---|
已弃用 |
4.3.0 将在 6.0 中删除 为该属性创建一个合适的 setter 函数 |
参数
- property
string
属性的名称。- value
mixed
要设置的属性的值。
响应
mixed
属性的先前值。
setCacheControllerFactory
设置要使用的缓存控制器工厂。
setCacheControllerFactory(\Joomla\CMS\Cache\CacheControllerFactoryInterface cacheControllerFactory = null) :
setCurrentUser
设置当前用户。
setCurrentUser(\Joomla\CMS\User\User currentUser) :
setDbo
设置数据库驱动程序。
setDbo(\Joomla\Database\DatabaseInterface db = null) :
自 |
4.2.0 |
---|---|
已弃用 |
4.3 将在 6.0 中删除 使用 setDatabase() 代替 示例:$model->setDatabase($db); |
参数
- db
DatabaseInterface|null
数据库驱动程序。
响应
void
setError
添加错误消息。
setError( error) :
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 将在 6.0 中删除 将被删除,不会被替换 改为抛出异常,而不是使用 setError |
参数
- error
string
错误消息。
响应
void
setFormFactory
设置要使用的表单工厂。
setFormFactory(\Joomla\CMS\Form\FormFactoryInterface formFactory = null) :
setMVCFactory
设置 MVC 工厂。
setMVCFactory(\Joomla\CMS\MVC\Factory\MVCFactoryInterface mvcFactory) :
setProperties
根据命名的数组/哈希设置对象属性。
setProperties( properties) :
自 |
1.7.0 |
---|---|
参见 | CMSObject::set() |
已弃用 |
4.3.0 将在 6.0 中删除 为该属性创建一个合适的 setter 函数 |
参数
- properties
mixed
关联数组或其他对象。
响应
bool
setState
设置状态变量的方法。
setState( property, value = null) :
自 |
4.0.0 |
---|
参数
- property
string
属性的名称- value
mixed
要设置的属性的值或 null
响应
mixed
属性的先前值或如果未设置则为 null
Properties
_errors
错误消息或 Exception 对象的数组。
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 JError 已被弃用 |
Type(s)
array<string|int, mixed>
__state_set
指示内部状态是否已设置
自 |
4.0.0 |
---|
Type(s)
bool
name
模型(基本)名称
自 |
4.0.0 |
---|
Type(s)
string
paths
包含路径
自 |
4.0.0 |
---|
Type(s)
array<string|int, mixed>
cacheControllerFactory
CacheControllerFactoryInterface
option
组件的 URL 选项。
自 |
3.0 |
---|
Type(s)
string
event_clean_cache
清除缓存时触发的事件。
自 |
3.0 |
---|
Type(s)
string
cache
内部基于内存的缓存数组,用于存储数据。
自 |
1.6 |
---|
Type(s)
array<string|int, mixed>
context
模型类型的上下文字符串。这用于处理在使用 getStoreId() 方法和缓存数据结构时进行唯一性处理。
自 |
1.6 |
---|
Type(s)
string
filter_fields
有效的过滤器字段或排序。
自 |
1.6 |
---|
Type(s)
array<string|int, mixed>
query
上次使用的查询的内部缓存。
自 |
1.6 |
---|
Type(s)
DatabaseQuery|string
lastQueryStoreId
上次填充 $this->query 时使用的缓存 ID
自 |
3.10.4 |
---|
Type(s)
null|string
filterFormName
要加载的过滤器表单的名称
自 |
3.2 |
---|
Type(s)
string
htmlFormName
关联的 HTML 表单
自 |
3.2 |
---|
Type(s)
string
filterBlacklist
要从模型状态中排除的过滤器变量列表
自 |
3.4.5 |
---|---|
已弃用 |
4.0 将在 6.0 中删除 使用 $filterForbiddenList 代替 |
Type(s)
array<string|int, mixed>
filterForbiddenList
要从模型状态中排除的禁止过滤器变量列表
自 |
4.0.0 |
---|
Type(s)
array<string|int, mixed>
listBlacklist
要从模型状态中排除的禁止变量列表
自 |
3.4.5 |
---|---|
已弃用 |
4.0 将在 6.0 中删除 使用 $listForbiddenList 代替 |
Type(s)
array<string|int, mixed>
listForbiddenList
要从模型状态中排除的禁止变量列表
自 |
4.0.0 |
---|
Type(s)
array<string|int, mixed>