Module
扩展自 Table模块表
| 自版本 | 1.5 | 
|---|---|
| 包 | Joomla CMS | 
方法
__construct
构造函数。
__construct(\Joomla\Database\DatabaseDriver db, \Joomla\Event\DispatcherInterface dispatcher = null) :
| 自版本 | 1.5 | 
|---|
参数
- db
- DatabaseDriver数据库连接器对象
- dispatcher
- DispatcherInterface|null此表的事件调度器
返回值
混合类型
_getAssetName
计算资源的默认名称的方法。
_getAssetName() :
默认名称采用 table_name.id 的形式,其中 id 是表主键的值。
| 自版本 | 3.2 | 
|---|
返回值
字符串
_getAssetParentId
获取记录的父资源 ID 的方法
_getAssetParentId(\Joomla\CMS\Table\Table table = null, id = null) :
_getAssetTitle
返回要用于资源表标题的方法。
_getAssetTitle() :
| 自版本 | 3.2 | 
|---|
返回值
字符串
_lock
锁定数据库表以进行写入的方法。
_lock() :
| 自版本 | 1.7.0 | 
|---|---|
| 抛出 | 
 | 
返回值
bool成功时为 True。
_unlock
解锁数据库表以进行写入的方法。
_unlock() :
| 自版本 | 1.7.0 | 
|---|
返回值
bool成功时为 True。
addIncludePath
添加 Table 应在其中搜索表类文件的目录路径。
addIncludePath(array|string path = null) : mixed||string|int
| 自版本 | 1.7.0 | 
|---|---|
| 已弃用 | 4.3 将在 6.0 中删除 不应再使用,因为表是通过 MvcFactory 加载的 | 
参数
- path
- array<string|int, mixed>|string要添加的文件系统路径或文件系统路径数组。
返回值
array<string|int, mixed>用于查找 Table 类的文件系统路径数组。
appendPrimaryKeys
将此表的主键附加到查询的方法。
appendPrimaryKeys(\Joomla\Database\DatabaseQuery query, pk = null) :
| 自版本 | 3.1.4 | 
|---|
参数
- query
- DatabaseQuery要附加的查询对象。
- pk
- mixed可选的主键参数。
返回值
void
bind
重载的 bind 函数。
bind(mixed||string|int array, ignore = '') :
| 参见 | Table::bind() | 
|---|---|
| 自版本 | 1.5 | 
参数
- 数组
- array<string|int, mixed>命名数组。
- ignore
- mixed一个可选的数组或以空格分隔的属性列表,在绑定时忽略这些属性。
返回值
mixed如果操作成功则为 Null,否则返回错误
checkIn
检查必要的属性/字段是否存在时,将行检入的方法。
checkIn( pk = null) :
检入一行将允许其他用户编辑该行。
| 自版本 | 1.7.0 | 
|---|---|
| 抛出 | 
 | 
参数
- pk
- mixed一个可选的主键值,用于检出。如果未设置,则使用实例属性值。
返回值
bool成功时为 True。
checkOut
检查必要的属性/字段是否存在时,将行检出的方法。
checkOut( userId, pk = null) :
为了防止在编辑数据库中的行时出现竞争条件,如果字段“checked_out”和“checked_out_time”可用,则可以检出该行。当一行被检出时,任何尝试由除检出该行的用户以外的用户存储该行的操作都应被保留,直到该行再次检入。
| 自版本 | 1.7.0 | 
|---|---|
| 抛出 | 
 | 
参数
- userId
- int检出该行的用户的 ID。
- pk
- mixed一个可选的主键值,用于检出。如果未设置,则使用实例属性值。
返回值
bool成功时为 True。
def
如果尚未分配,则设置默认值
def( property, default = null) :
| 自版本 | 1.7.0 | 
|---|---|
| 已弃用 | 4.3.0 将在 6.0 中删除 不应再使用定义动态属性 | 
参数
- property
- string属性的名称。
- default
- mixed默认值。
返回值
混合类型
delete
通过主键值从数据库表中删除行的方法。
delete( pk = null) :
| 自版本 | 1.7.0 | 
|---|---|
| 抛出 | 
 | 
参数
- pk
- mixed一个可选的主键值,用于删除。如果未设置,则使用实例属性值。
返回值
bool成功时为 True。
get
返回对象的属性或如果未设置属性则返回默认值。
get( property, default = null) :
| 自版本 | 1.7.0 | 
|---|---|
| 参见 | CMSObject::getProperties() | 
| 已弃用 | 4.3.0 将在 6.0 中删除 为属性创建一个合适的 getter 函数 | 
参数
- property
- string属性的名称。
- default
- mixed默认值。
返回值
mixed属性的值。
getColumnAlias
返回“特殊”列(如 ordering、hits、published 等)的真实名称的方法。这样,您可以自由地遵循您的数据库命名约定并使用内置的 \Joomla 函数。
getColumnAlias( column) :
| 自版本 | 3.4 | 
|---|
参数
- column
- string“特殊”列的名称(例如 ordering、hits)
返回值
string标识特殊项的字符串
getDbo
获取 DatabaseDriver 对象的方法。
getDbo() : \Joomla\Database\DatabaseDriver
| 自版本 | 1.7.0 | 
|---|
返回值
DatabaseDriver内部数据库驱动程序对象。
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>错误消息数组。
getFields
从数据库表中获取列。
getFields( reload = false) :
| 自版本 | 1.7.0 | 
|---|---|
| 抛出 | 
 | 
参数
- reload
- bool重新加载缓存的标志
返回值
mixed字段名称数组,如果发生错误则为 false。
getId
返回此记录的标识(主键)值
getId() :
| 自版本 | 4.0.0 | 
|---|
返回值
混合类型
getInstance
静态方法,用于获取 Table 类的实例(如果可以在表包含路径中找到)。
getInstance( type, prefix = 'JTable', mixed||string|int config = []) : \Joomla\CMS\Table\Table|bool
要添加用于搜索 Table 类的包含路径,请参见 Table::addIncludePath()。
| 自版本 | 1.7.0 | 
|---|---|
| 已弃用 | 4.3 将在 6.0 中删除 使用 MvcFactory 代替 示例:Factory::getApplication()->bootComponent('...')->getMVCFactory()->createTable($name, $prefix, $config); | 
参数
- type
- string要获取实例的 Table 类的类型(名称)。
- prefix
- stringTable 类名称的可选前缀。
- config
- array<string|int, mixed>Table 对象的配置值可选数组。
返回值
Table|bool如果找到则为 Table 对象,如果失败则为布尔值 false。
getKeyName
获取表的主键字段名称的方法。
getKeyName( multiple = false) :
| 自版本 | 1.7.0 | 
|---|
参数
- multiple
- boolTrue 表示返回所有主键(作为数组),False 表示仅返回第一个主键(作为字符串)。
返回值
mixed主键字段名称数组或包含第一个主键字段的字符串。
getNextOrder
获取由 SQL WHERE 子句定义的一组行的下一个排序值的方法。
getNextOrder( where = '') :
这对于将新项目放在表中项目组的最后位置很有用。
| 自版本 | 1.7.0 | 
|---|---|
| 抛出 | 
 | 
参数
- where
- string用于选择表 MAX(ordering) 的 WHERE 子句。
返回值
int下一个排序值。
getPrimaryKey
使用传入的值作为默认值获取此表的主键值。
getPrimaryKey(mixed||string|int keys = []) : mixed||string|int
| 自版本 | 3.1.4 | 
|---|
参数
- keys
- array<string|int, mixed>要使用的可选主键值。
返回值
array<string|int, mixed>主键名称和值的数组。
getProperties
返回对象属性的关联数组。
getProperties( public = true) : mixed||string|int
| 自版本 | 1.7.0 | 
|---|---|
| 参见 | CMSObject::get() | 
| 已弃用 | 4.3.0 将在 6.0 中删除 为属性创建一个合适的 getter 函数 | 
参数
- 公有
- bool如果为 True,则仅返回公有属性。
返回值
array<string|int, mixed>
getTableName
获取类的数据库表名称的方法。
getTableName() :
| 自版本 | 1.7.0 | 
|---|
返回值
string正在建模的数据库表名称。
hasField
检查记录是否具有属性(如果存在则应用列别名)
hasField( key) :
| 自版本 | 3.9.11 | 
|---|
参数
- key
- string要检查的键
返回值
bool
hasPrimaryKey
验证是否已设置主键。
hasPrimaryKey() :
| 自版本 | 3.1.4 | 
|---|
返回值
bool如果已设置主键,则为 True。
hit
如果必要的属性/字段存在,则递增行点击次数的方法。
hit( pk = null) :
| 自版本 | 1.7.0 | 
|---|---|
| 抛出 | 
 | 
参数
- pk
- mixed一个可选的主键值,用于递增。如果未设置,则使用实例属性值。
返回值
bool成功时为 True。
isCheckedOut
确定行是否已检出,因此用户无法编辑的方法。
isCheckedOut( with, against = null) :
如果同一用户检出了该行,则认为该行未检出,因为用户仍然可以编辑它。
| 自版本 | 1.7.0 | 
|---|
参数
- with
- int要与其执行匹配的用户 ID,如果项目由此用户检出,则该函数将返回 false。
- against
- int当函数用作静态函数时,要与其执行匹配的用户 ID。
返回值
bool如果已检出,则为 True。
load
通过主键加载一行并将其字段绑定到 Table 实例属性的方法。
load( keys = null, reset = true) :
| 自版本 | 1.7.0 | 
|---|---|
| 抛出 | 
 
 
 | 
参数
- keys
- mixed一个可选的主键值,用于加载行,或要匹配的字段数组。如果未设置,则使用实例属性值。
- reset
- boolTrue 表示在加载新行之前重置默认值。
返回值
bool如果成功则为 True。如果未找到行则为 False。
move
在由 SQL WHERE 子句定义的一组行的排序序列中移动行的方法。
move( delta, string|string[] where = '') :
负数将行向上移动到序列中,正数将行向下移动。
| 自版本 | 1.7.0 | 
|---|---|
| 抛出 | 
 | 
参数
- delta
- int在排序序列中移动行的方向和幅度。
- where
- string|array<string|int, string>用于限制行选择以压缩排序值的 WHERE 子句。
返回值
bool成功时为 True。
publish
用于设置数据库表中一行或多行发布状态的方法。
publish( pks = null, state = 1, userId) :
该方法会尊重其他用户签出的行,并在进行调整后尝试签入其可以签入的行。
| 自版本 | 1.7.0 | 
|---|
参数
- 主键
- mixed一个可选的主键值数组,用于更新。如果未设置,则使用实例属性值。
- 状态
- int发布状态。例如 [0 = 未发布,1 = 已发布]
- userId
- int执行操作的用户 ID。
返回值
bool成功时为 True;如果 $pks 为空则为 false。
reorder
用于压缩由 SQL WHERE 子句定义的一组行中行的排序值的方法。
reorder(string|string[] where = '') :
| 自版本 | 1.7.0 | 
|---|---|
| 抛出 | 
 | 
参数
- where
- string|array<string|int, string>用于限制行选择以压缩排序值的 WHERE 子句。
返回值
mixed成功时为布尔值 True。
reset
用于将类属性重置为类定义中设置的默认值的方法。它将忽略主键以及任何私有类属性(除了 $_errors)。
reset() :
| 自版本 | 1.7.0 | 
|---|
返回值
void
save
用于提供将 Table 实例绑定、检查和存储到数据库表的快捷方式的方法。
save(array|object src, orderingFilter = '', array|string ignore = '') :
该方法将在数据存储后检查一行,如果存在排序过滤器,则会尝试根据过滤器重新排序表行。排序过滤器是一个实例属性名称。将重新排序的行是其值与指定属性的 Table 实例匹配的行。
| 自版本 | 1.7.0 | 
|---|
参数
- 源数据
- array<string|int, mixed>|object一个关联数组或对象,绑定到 Table 实例。
- 排序过滤器
- string排序更新的过滤器
- ignore
- array<string|int, mixed>|string一个可选的数组或以空格分隔的属性列表,在绑定时忽略。
返回值
bool成功时为 True。
set
修改对象的属性,如果属性不存在则创建它。
set( property, value = null) :
| 自版本 | 1.7.0 | 
|---|---|
| 已弃用 | 4.3.0 将在 6.0 中移除 为属性创建正确的 setter 函数 | 
参数
- property
- string属性的名称。
- 值
- mixed要设置的属性的值。
返回值
mixed属性的先前值。
setColumnAlias
用于注册“特殊”列的列别名的方法。
setColumnAlias( column, columnAlias) :
| 自版本 | 3.4 | 
|---|
参数
- column
- string“特殊”列(例如排序)
- 列别名
- string真实的列名(例如 foo_ordering)
返回值
void
setDbo
用于设置 DatabaseDriver 对象的方法。
setDbo(\Joomla\Database\DatabaseDriver db) :
| 自版本 | 1.7.0 | 
|---|
参数
- db
- DatabaseDriver表对象要使用的 DatabaseDriver 对象。
返回值
bool成功时为 True。
setError
添加错误消息。
setError( error) :
| 自版本 | 1.7.0 | 
|---|---|
| 已弃用 | 3.1.4 将在 6.0 中移除 将在没有替换的情况下移除 抛出异常而不是使用 setError | 
参数
- 错误
- string错误消息。
返回值
void
setProperties
根据命名数组/哈希设置对象属性。
setProperties( properties) :
| 自版本 | 1.7.0 | 
|---|---|
| 参见 | CMSObject::set() | 
| 已弃用 | 4.3.0 将在 6.0 中移除 为属性创建正确的 setter 函数 | 
参数
- 属性
- mixed关联数组或其他对象。
返回值
bool
setRules
用于设置记录规则的方法。
setRules( input) :
| 自版本 | 1.7.0 | 
|---|
参数
- 输入
- mixedRules 对象、JSON 字符串或数组。
返回值
void
store
存储模块。
store( updateNulls = true) :
| 自版本 | 3.7.0 | 
|---|
参数
- 更新空值
- bool即使字段为空也更新字段为 True。
返回值
bool成功时为 True,失败时为 false。
属性
_errors
错误消息或异常对象的数组。
| 自版本 | 1.7.0 | 
|---|---|
| 已弃用 | 3.1.4 JError 已弃用 | 
类型
array<string|int, mixed>
            _includePaths
用于搜索 Table 类的包含路径。
| 自版本 | 3.0.0 | 
|---|
类型
array<string|int, mixed>
            tableFields
表字段缓存
| 自版本 | 3.10.4 | 
|---|
类型
array<string|int, mixed>
            _tbl
要建模的数据库表名称。
| 自版本 | 1.7.0 | 
|---|
类型
字符串
            _tbl_key
表中主键字段的名称。
| 自版本 | 1.7.0 | 
|---|
类型
字符串
            _tbl_keys
表中主键字段的名称。
| 自版本 | 3.0.1 | 
|---|
类型
array<string|int, mixed>
            _db
DatabaseDriver 对象。
| 自版本 | 1.7.0 | 
|---|
类型
DatabaseDriver
            _trackAssets
是否应将行跟踪为 ACL 资源?
| 自版本 | 1.7.0 | 
|---|
类型
bool
            _locked
指示表是否已被锁定。
| 自版本 | 1.7.0 | 
|---|
类型
bool
            _autoincrement
指示主键是否自动递增。
| 自版本 | 3.1.4 | 
|---|
类型
bool
            _columnAlias
包含排序、点击次数等“特殊”列别名的数组
| 自版本 | 3.4.0 | 
|---|
类型
array<string|int, mixed>
            _jsonEncode
要在 bind 函数中进行 JSON 编码的键名称数组
| 自版本 | 3.3 | 
|---|
类型
array<string|int, mixed>
            _supportNullValue
指示列是否完全支持数据库中的 NULL 值
| 自版本 | 4.0.0 | 
|---|
类型
bool
            typeAlias
UCM 类型别名。用于标签、内容版本控制等。留空可有效禁用这些功能。
| 自版本 | 4.0.0 | 
|---|
类型
字符串