BaseDatabaseModel

继承自 BaseModel 实现 DatabaseModelInterface, DispatcherAwareInterface, CurrentUserInterface, CacheControllerFactoryAwareInterface

数据库感知 Joomla 模型的基类

抽象

充当应用程序特定对象的工厂类,并提供许多支持 API 函数。

自从

2.5.5

Joomla CMS

方法

__construct

构造函数

__construct(mixed||string|int config = [], \Joomla\CMS\MVC\Factory\MVCFactoryInterface factory = null) : 
自从

3.0

抛出

异常

参数

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查询的行数。

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>包含目录元素的数组。如果前缀等于 '',则返回所有目录。

addTablePath

按 LIFO 顺序将模型表格路径添加到堆栈中。

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|nullModelInterface 实例或失败时的 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属性的值。

getCacheControllerFactory

获取 CacheControllerFactoryInterface。

getCacheControllerFactory() : \Joomla\CMS\Cache\CacheControllerFactoryInterface
继承
自从

4.2.0

响应

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

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>错误消息数组。

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

getMVCFactory

返回 MVC 工厂。

getMVCFactory() : \Joomla\CMS\MVC\Factory\MVCFactoryInterface
继承
自从

4.0.0

抛出

UnexpectedValueException

响应

MVCFactoryInterface

getName

获取模型名称的方法

getName() : 
继承

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

自从

4.0.0

抛出

异常

响应

string模型的名称

getProperties

返回对象属性的关联数组。

getProperties( public = true) : mixed||string|int
继承 已弃用
自从

1.7.0

参见 CMSObject::get()
已弃用

4.3.0 将在 6.0 中删除。为属性创建适当的 getter 函数

参数

public

bool如果为 true,则仅返回公共属性。

响应

array<string|int, mixed>

getState

获取状态变量的方法。

getState( property = null,  default = null) : 
继承
自从

4.0.0

参数

property

string可选参数名称

default

mixed可选默认值

响应

mixed指定时的属性,省略时的状态对象

getTable

获取表格对象的方法,必要时加载它。

getTable( name = '',  prefix = '', mixed||string|int options = []) : \Joomla\CMS\Table\Table
自从

3.0

抛出

异常

参数

name

string表格名称。可选。

prefix

string类前缀。可选。

options

array<string|int, mixed>模型的配置数组。可选。

响应

Table表格对象

isCheckedOut

检查给定记录是否由当前用户签出的方法

isCheckedOut(\stdClass item) : 

参数

item

stdClass要检查的记录

响应

bool

populateState

自动填充状态的方法。

populateState() : 
继承

此方法应仅在每次实例化时调用一次,并且旨在在第一次调用 getState() 方法时调用,除非设置了忽略请求的配置标志。

注意

在此方法中调用 getState 会导致递归。

自从

4.0.0

响应

void

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

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

属性

_errors

错误消息或异常对象的数组。

继承 已弃用
自从

1.7.0

已弃用

3.1.4 JError 已弃用

类型

array<string|int, mixed>

__state_set

指示内部状态是否已设置

继承
自从

4.0.0

类型

bool

state

状态对象

继承
自从

4.0.0

类型

State

name

模型(基础)名称

继承
自从

4.0.0

类型

string

paths

包含路径

inherited static
自从

4.0.0

类型

array<string|int, mixed>

cacheControllerFactory

CacheControllerFactoryInterface

继承
自从

4.2.0

类型

CacheControllerFactoryInterface

currentUser

当前用户对象。

继承
自从

4.2.0

类型

User

mvcFactory

MVC 工厂。

继承
自从

4.0.0

类型

MVCFactoryInterface

option

组件的 URL 选项。

自从

3.0

类型

string

event_clean_cache

清理缓存时触发的事件。

自从

3.0

类型

string