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 = []) : 
继承 static 已弃用

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

抛出

RuntimeException

参数

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
继承 static 已弃用

3.0

已弃用

4.3 将在 6.0 中移除,将无替换地移除。通过 MVCFactory + 命名空间获取模型,而不是

参见

参数

path

mixed要搜索的路径或路径数组[sting]。

prefix

string模型的前缀。

响应

array<string|int, mixed>包含目录元素的数组。如果 prefix 等于 '',则返回所有目录。

addTablePath

按后进先出顺序将模型表路径添加到堆栈中。

addTablePath( path) : 
继承 static 已弃用

3.0

已弃用

4.3 将在 6.0 中移除,将无替换地移除。通过 MVCFactory 获取模型,而不是

参数

path

mixed要添加的目录,可以是字符串或目录数组。

响应

void

bootComponent

启动给定名称的组件。

bootComponent( component) : \Joomla\CMS\Extension\ComponentInterface
继承

4.0.0

参数

component

string组件名称,例如 com_content。

响应

ComponentInterface服务容器

cleanCache

清除缓存

cleanCache( group = null) : 
继承

3.0

参数

group

string缓存组

响应

void

createModelFromComponent

通过从前缀加载组件来返回一个模型对象。

createModelFromComponent( type,  prefix = '', mixed||string|int config = []) : \Joomla\CMS\MVC\Model\ModelInterface|null
继承 static 已弃用

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
继承

4.2.0

响应

User

getDbo

获取数据库驱动程序。

getDbo() : \Joomla\Database\DatabaseInterface
继承 已弃用

4.2.0

抛出

UnexpectedValueException

已弃用

4.3 将在 6.0 中移除,请使用 getDatabase(),例如:$model->getDatabase();

响应

DatabaseInterface数据库驱动程序。

getDispatcher

获取事件调度程序。

getDispatcher() : \Joomla\Event\DispatcherInterface
继承

覆盖是为了保持对遗留组件的向后兼容性。TODO:在 6.0 中删除覆盖。

4.4.0

抛出

UnexpectedValueException如果调度程序未设置,则可能会抛出。

响应

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

3.2

参数

data

array<string|int, mixed>data

loadData

bool加载当前数据

响应

Form|null\JForm 对象或如果找不到表单则为 null

getFormFactory

获取 FormFactoryInterface。

getFormFactory() : \Joomla\CMS\Form\FormFactoryInterface
继承 abstract

4.0.0

抛出

UnexpectedValueException如果 FormFactory 未设置,则可能会抛出。

响应

FormFactoryInterface

getInstance

返回一个模型对象,始终创建它

getInstance( type,  prefix = '', mixed||string|int config = []) : self|bool
继承 static 已弃用

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
继承

4.0.0

抛出

UnexpectedValueException

响应

MVCFactoryInterface

getName

获取模型名称的方法

getName() : 
继承

模型名称。默认情况下使用类名解析,也可以通过在类构造函数中传递 $config['name'] 来设置

4.0.0

抛出

异常

响应

string模型的名称

getPagination

获取数据集 \JPagination 对象的方法。

getPagination() : \Joomla\CMS\Pagination\Pagination

1.6

响应

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
继承
参见 Form

4.0.0

抛出

异常

参数

name

string表单的名称。

source

string表单源。如果文件标志设置为 false,则可以是 XML 字符串。

options

array<string|int, mixed>创建表单的可选选项数组。

clear

bool可选参数,强制加载新表单。

xpath

string用于搜索字段的可选 xpath。

响应

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') : 
继承
参见 FormField

4.0.0

抛出

Exception如果表单事件中存在错误。

参数

form

Form表单对象。

data

mixed表单预期的数据。

group

string要导入的插件组的名称(默认为“content”)。

响应

void

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) : 
继承

4.2.0

参数

cacheControllerFactory

CacheControllerFactoryInterface要使用的缓存控制器工厂。

响应

void

setCurrentUser

设置当前用户。

setCurrentUser(\Joomla\CMS\User\User currentUser) : 
继承

4.2.0

参数

currentUser

User当前用户对象

响应

void

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) : 
继承

4.0.0

参数

formFactory

FormFactoryInterface|null要使用的表单工厂。

响应

$this

setMVCFactory

设置 MVC 工厂。

setMVCFactory(\Joomla\CMS\MVC\Factory\MVCFactoryInterface mvcFactory) : 
继承

4.0.0

参数

mvcFactory

MVCFactoryInterfaceMVC 工厂

响应

void

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

state

状态对象

继承

4.0.0

Type(s)

State

name

模型(基本)名称

继承

4.0.0

Type(s)

string

paths

包含路径

inherited static

4.0.0

Type(s)

array<string|int, mixed>

cacheControllerFactory

CacheControllerFactoryInterface

继承

currentUser

当前用户对象。

继承

4.2.0

Type(s)

User

mvcFactory

mvc 工厂。

继承

4.0.0

Type(s)

MVCFactoryInterface

option

组件的 URL 选项。

继承

3.0

Type(s)

string

event_clean_cache

清除缓存时触发的事件。

继承

3.0

Type(s)

string

formFactory

FormFactoryInterface

继承

4.0.0

Type(s)

FormFactoryInterface

_forms

表单对象的数组。

继承

4.0.0

Type(s)

array<string|int, Form>

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>