Category

扩展 Nested 实现 VersionableTableInterface, TaggableTableInterface, CurrentUserInterface

类别表

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 是表主键的值。

1.6

响应

字符串

_getAssetParentId

获取记录的父资产 ID

_getAssetParentId(\Joomla\CMS\Table\Table table = null,  id = null) : 

1.6

参数

Table资产父级的表对象。

id

int资产的 ID

响应

int资产父级的 ID

_getAssetTitle

用于返回资产表标题的方法。

_getAssetTitle() : 

1.6

响应

字符串

_getNode

用于获取树中节点的嵌套集属性的方法。

_getNode( id,  key = null) : 
继承

1.7.0

抛出

RuntimeException数据库错误。

参数

id

int要查找节点的值。

key

string可选的键,用于查找节点(父级 | 左 | 右)。如果省略,则使用表的 主键。

响应

mixed失败时为布尔值 false,成功时为节点对象。

_getTreeRepositionData

用于获取在树中的某个位置为节点及其子节点腾出空间所需的各种数据的方法。返回 的数据对象包括用于更新左右 ID 值以腾出空间的 SQL WHERE 子句条件,以及节点的新 左右 ID。

_getTreeRepositionData( referenceNode,  nodeWidth,  position = 'before') : 
继承

1.7.0

参数

referenceNode

object具有至少一个 'lft' 和 'rgt' 的节点对象,用于在树中腾出空间以放置新节点。

nodeWidth

int要为其在树中腾出空间的节点的宽度。

position

string相对于参考节点的位置,应在那里腾出空间。

响应

mixed失败时为布尔值 false,成功时为数据对象。

_lock

用于锁定数据库表以进行写入的方法。

_lock() : 
继承

1.7.0

抛出

RuntimeException

响应

bool成功时为 True。

_logtable

用于在缓冲区中创建日志表的方法,可选地显示查询和/或数据。

_logtable( showData = true,  showQuery = true) : 
继承

1.7.0

参数

showData

bool显示数据为 True

showQuery

bool显示查询为 True

响应

void

_runQuery

运行查询,并在出错时解锁数据库。

_runQuery( query,  errorMessage) : 
继承
注意

自 3.0.0 起,此方法返回 void 并将重新抛出数据库异常。

1.7.0

抛出

Exception数据库错误。

参数

query

mixed字符串或 DatabaseQuery 对象。

errorMessage

string未使用。

响应

void

_unlock

用于解锁数据库表以进行写入的方法。

_unlock() : 
继承

1.7.0

响应

bool成功时为 True。

addIncludePath

添加 Table 应该在其中搜索表类文件的 文件系统路径。

addIncludePath(array|string path = null) : mixed||string|int
继承 static 已弃用

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.6

参数

数组

array<string|int, mixed>命名数组

ignore

string可选的数组或以空格分隔的属性列表,在绑定时忽略这些属性。

响应

mixed如果操作成功,则为 Null,否则返回错误

check

覆盖 check 函数

check() : 
参见 Table::check()

1.5

响应

bool

checkIn

用于检查一行,如果必要的属性/字段存在。

checkIn( pk = null) : 
继承

检查一行将允许其他用户编辑该行。

1.7.0

抛出

UnexpectedValueException

参数

pk

mixed可选的主键值,用于签出。如果未设置,则使用实例属性值。

响应

bool成功时为 True。

checkOut

用于检查一行,如果必要的属性/字段存在。

checkOut( userId,  pk = null) : 
继承

为了防止在编辑数据库中的行时出现竞争条件,如果字段 'checked_out' 和 'checked_out_time' 可用,则可以签出一行。当一行签出时,任何用户(除签出该行的用户以外)尝试存储该行的操作都应保留,直到该行再次签入。

1.7.0

抛出

UnexpectedValueException

参数

userId

int签出行的用户的 ID。

pk

mixed可选的主键值,用于签出。如果未设置,则使用实例属性值。

响应

bool成功时为 True。

clearTagsHelper

清除标签助手

clearTagsHelper() : 
继承

4.0.0

响应

void

debug

设置调试级别开或关

debug( level) : 
继承

1.7.0

参数

level

int0 = 关,1 = 开

响应

void

def

如果尚未分配,则设置默认值

def( property,  default = null) : 
继承 已弃用

1.7.0

已弃用

4.3.0 将在 6.0 中删除,不再应使用定义动态属性

参数

property

string属性的名称。

default

mixed默认值。

响应

混合

delete

用于从表中删除节点及其子节点(可选)的方法。

delete( pk = null,  children = true) : 
继承

1.7.0

参数

pk

int要删除的节点的主键。

children

bool如果要删除子节点,则为 True,如果要将其移至上一级,则为 False。

响应

bool成功时为 True。

get

返回对象的属性,如果未设置该属性,则返回默认值。

get( property,  default = null) : 
继承 已弃用

1.7.0

参见 CMSObject::getProperties()
已弃用

4.3.0 将在 6.0 中删除,为该属性创建一个合适的 getter 函数

参数

property

string属性的名称。

default

mixed默认值。

响应

mixed属性的值。

getColumnAlias

用于返回 "特殊" 列(如排序、点击次数、已发布等)的真实名称的方法。通过这种方式,您可以自由地遵循您的数据库命名约定并使用内置的 \Joomla 函数。

getColumnAlias( column) : 
继承

3.4

参数

column

string"特殊" 列的名称(如排序、点击次数)。

响应

string标识特殊的字符串

getCurrentUser

返回当前用户,如果未设置,则返回全局应用程序的身份。这将在 6.0 中更改,并将返回空用户。

getCurrentUser() : \Joomla\CMS\User\User
继承

4.2.0

响应

User

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

抛出

UnexpectedValueException

参数

reload

bool重新加载缓存的标志

响应

mixed字段名称数组,如果发生错误,则为 false。

getId

返回此记录的身份(主键)值

getId() : 
继承

4.0.0

响应

混合

getInstance

静态方法,用于获取 Table 类的实例(如果它可以在表包含路径中找到)。

getInstance( type,  prefix = 'JTable', mixed||string|int config = []) : \Joomla\CMS\Table\Table|bool
继承 static 已弃用

要添加用于搜索 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

参数

多个

bool如果要返回所有主键(作为数组),则为 true;如果要返回第一个主键(作为字符串),则为 false。

响应

mixed主键字段名称数组或包含第一个主键字段的字符串。

getNextOrder

获取由 SQL WHERE 子句定义的一组行的下一个排序值的方法。

getNextOrder( where = '') : 
继承

这对于将新项目放置在表中一组项目的最后很有用。

1.7.0

抛出

UnexpectedValueException

参数

哪里

string用于为表选择 MAX(ordering) 的 WHERE 子句。

响应

int下一个排序值。

getPath

从给定节点到其根节点获取节点数组的方法。

getPath( pk = null,  diagnostic = false) : 
继承

1.7.0

抛出

RuntimeException数据库错误

参数

pk

int要获取路径的节点的主键。

诊断

bool仅为嵌套集选择诊断数据。

响应

mixed包含起始节点的节点对象数组。

getPrimaryKey

使用传入的值作为默认值获取此表的主键值。

getPrimaryKey(mixed||string|int keys = []) : mixed||string|int
继承

3.1.4

参数

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>

getRootId

获取树中根项目的 ID

getRootId() : 
继承

1.7.0

响应

mixed根行的主键 ID,如果未找到且设置了内部错误,则为 false。

getRules

获取记录规则的方法。

getRules() : \Joomla\CMS\Access\Rules
继承

1.7.0

响应

Rules对象

getTableName

获取类的数据库表名称的方法。

getTableName() : 
继承

1.7.0

响应

string正在建模的数据库表名称。

getTagsHelper

获取标签助手

getTagsHelper() : \Joomla\CMS\Helper\TagsHelper
继承

4.0.0

响应

TagsHelper标签助手对象

getTree

获取节点及其所有子节点的方法。

getTree( pk = null,  diagnostic = false) : 
继承

1.7.0

抛出

RuntimeException数据库错误。

参数

pk

int要获取树的节点的主键。

诊断

bool仅为嵌套集选择诊断数据。

响应

mixed失败时返回布尔值 false,成功时返回节点对象数组。

getTypeAlias

获取历史表的类型别名

getTypeAlias() : 

4.0.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

抛出

UnexpectedValueException

参数

pk

mixed可选的主键值,用于增加。如果未设置,则使用实例属性值。

响应

bool成功时为 True。

isCheckedOut

确定行是否被签出,因此用户无法编辑的方法。

isCheckedOut( with,  against = null) : 
继承

如果同一用户签出了该行,则认为该行未签出 - 因为用户仍然可以编辑它。

1.7.0

参数

int要执行匹配的用户 ID,如果项目由此用户签出,则函数将返回 false。

反对

int当函数用作静态函数时,要执行匹配的用户 ID。

响应

bool如果签出,则为 true。

isLeaf

确定节点是否是树中的叶子节点(没有子节点)的方法。

isLeaf( pk = null) : 
继承
注意

从 3.0.0 开始,如果节点不存在,则此方法返回 null。

1.7.0

抛出

RuntimeException数据库错误。

参数

pk

int要检查的节点的主键。

响应

bool如果为叶子节点,则为 true;如果为非叶子节点,则为 false;如果节点不存在,则为 null。

load

通过主键从数据库加载行并将字段绑定到 Table 实例属性的方法。

load( keys = null,  reset = true) : 
继承

1.7.0

抛出

InvalidArgumentException

RuntimeException

UnexpectedValueException

参数

mixed可选的主键值,用于加载行,或要匹配的字段数组。如果未设置,则使用实例属性值。

reset

bool如果要在加载新行之前重置默认值,则为 true。

响应

bool如果成功,则为 true。如果未找到行,则为 false。

move

在由 SQL WHERE 子句定义的一组行的排序顺序中移动行的方法。

move( delta,  where = '') : 
继承

负数将行向上移动,正数将行向下移动。

1.7.0

参数

增量

int在排序顺序中移动行的方向和幅度。

哪里

stringWHERE 子句,用于限制行的选择以压缩排序值。

响应

mixed成功时为布尔值 true。

moveByReference

将节点及其子节点移动到树中新位置的方法。

moveByReference( referenceId,  position = 'after',  pk = null,  recursiveUpdate = true) : 
继承

1.7.0

抛出

RuntimeException数据库错误。

参数

referenceId

int要通过其引用新位置的节点的主键。

position

string位置类型字符串。['before', 'after', 'first-child', 'last-child']

pk

int要移动的节点的主键。

递归更新

bool标志表明应该调用方法 recursiveUpdatePublishedColumn。

响应

bool成功时为 True。

orderDown

将节点在同一级别上向右移动一个位置的方法。

orderDown( pk) : 
继承

1.7.0

抛出

RuntimeException数据库错误。

参数

pk

int要移动的节点的主键。

响应

bool成功时为 True。

orderUp

将节点在同一级别上向左移动一个位置的方法。

orderUp( pk) : 
继承

1.7.0

抛出

RuntimeException数据库错误。

参数

pk

int要移动的节点的主键。

响应

bool成功时为 True。

publish

为数据库表中的节点或节点列表设置发布状态的方法。该方法尊重由其他用户签出的行,并将尝试在进行调整后签入它可以签入的行。该方法不允许您将发布状态设置为高于任何祖先节点,也不允许您在具有签出子节点的节点上设置发布状态。

publish( pks = null,  state = 1,  userId) : 
继承

1.7.0

抛出

UnexpectedValueException

参数

pks

mixed可选的主键值数组,用于更新。如果未设置,则使用实例属性值。

状态

int发布状态。例如:[0 = 未发布,1 = 已发布]

userId

int执行操作的用户 ID。

响应

bool成功时为 True。

rebuild

递归重建整个嵌套集树的方法。

rebuild( parentId = null,  leftId,  level,  path = '') : 
继承

1.7.0

抛出

RuntimeException数据库错误。

参数

parentId

int要重建的树的根节点。

leftId

int在构建树时要开始的左 ID。

level

int要分配给当前节点的级别。

path

string当前节点的路径。

响应

int1 + 根 rgt 的值(成功时),失败时为 false

rebuildPath

从当前节点到树的根节点的节点的别名值重建节点的路径字段的方法。

rebuildPath( pk = null) : 
继承

1.7.0

参数

pk

int要获取路径的节点的主键。

响应

bool成功时为 True。

recursiveUpdatePublishedColumn

递归更新子行的已发布列的方法。

recursiveUpdatePublishedColumn( pk,  newState = null) : 
继承

3.7.0

抛出

RuntimeException数据库错误。

参数

pk

int已发布列已更改的行的 ID 号。

newState

int由 $pk 标识的行的已发布列的可选值。

响应

bool成功时为 True。

reorder

压缩由 SQL WHERE 子句定义的一组行的排序值的方法。

reorder(string|string[] where = '') : 
继承

1.7.0

抛出

UnexpectedValueException

参数

哪里

string|array<string|int, string>WHERE 子句,用于限制行的选择以压缩排序值。

响应

mixed成功时为布尔值 True。

reset

将类属性重置为类定义中设置的默认值的方法。它将忽略主键以及任何私有类属性(除了 $_errors)。

reset() : 
继承

3.2.1

响应

void

save

提供将 Table 实例绑定、检查和存储到数据库表的快捷方式的方法。

save(array|object src,  orderingFilter = '', array|string ignore = '') : 
继承

该方法将在数据存储后检查一次行,如果存在排序过滤器,则会尝试根据过滤器重新排序表行。排序过滤器是一个实例属性名称。将重新排序的行是其值与 Table 实例匹配的那些行,这些行指定了属性。

1.7.0

参数

src

array<string|int, mixed>|object要绑定到 Table 实例的关联数组或对象。

orderingFilter

string用于顺序更新的过滤器

ignore

array<string|int, mixed>|string可选的数组或以空格分隔的属性列表,在绑定时要忽略。

响应

bool成功时为 True。

saveorder

更新表行顺序的方法

saveorder(mixed||string|int idArray = null, mixed||string|int lftArray = null) : int|bool
继承

1.7.0

抛出

Exception数据库错误。

参数

idArray

array<string|int, mixed>要重新排序的行的 ID 号。

lftArray

array<string|int, mixed>要重新排序的行的 lft 值。

响应

int|bool成功时为 1 + 根 rgt 的值,失败时为 false。

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“特殊”列(即排序)

columnAlias

string实际列名称(即 foo_ordering)

响应

void

setCurrentUser

设置当前用户。

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

4.2.0

参数

currentUser

User当前用户对象

响应

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

setLocation

设置树对象中节点位置的方法。此方法不会将新位置保存到数据库,但会将其设置在对象中,以便在存储节点时,它将存储在新位置。

setLocation( referenceId,  position = 'after') : 
继承
注意

从 3.0.0 开始,此方法返回 void,并在传递无效位置时抛出 \InvalidArgumentException。

参见 Nested::$_validLocations

1.7.0

抛出

InvalidArgumentException

参数

referenceId

int要通过其引用新位置的节点的主键。

position

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

setTagsHelper

设置标签助手

setTagsHelper(\Joomla\CMS\Helper\TagsHelper tagsHelper) : 
继承

4.0.0

参数

tagsHelper

TagsHelper要设置的标签助手

响应

void

store

覆盖 Table::store 以设置创建/修改时间和用户 ID。

store( updateNulls = true) : 

1.6

参数

updateNulls

bool如果字段为 null,则为 true,则更新字段。

响应

bool成功时为 True。

特性

_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

_rules

与该记录关联的规则。

继承

1.7.0

类型

规则

_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

类型

字符串

parent_id

保存父节点主键的对象属性。为节点提供邻接列表数据。

继承

1.7.0

类型

int

level

保存节点在树中的深度级别的对象属性。

继承

1.7.0

类型

int

lft

保存节点的左值的对象属性,用于管理其在嵌套集树中的位置。

继承

1.7.0

类型

int

rgt

保存节点的右值的对象属性,用于管理其在嵌套集树中的位置。

继承

1.7.0

类型

int

alias

保存该节点的别名的对象属性,用于构建完整的文本路径,以斜杠分隔。

继承

1.7.0

类型

字符串

_location

用于保存行时要使用的位置类型的对象属性。

继承

1.7.0

参见 Nested::$_validLocations

类型

字符串

_location_id

保存行时要使用的位置引用节点主键的对象属性。

继承

位置类型和引用节点的组合描述了在树中存储当前节点的位置。

1.7.0

类型

int

_cache

用于在递归过程中缓存值的数组。

继承

1.7.0

类型

array<string|int, mixed>

_debug

调试级别。

继承

1.7.0

类型

int

root_id

根 ID 的缓存。

继承 静态

3.3

类型

int

_validLocations

声明移动节点时有效位置值的数组。

继承

3.7.0

类型

array<string|int, mixed>

currentUser

当前用户对象。

继承

4.2.0

类型

User

tagsHelper

标签助手属性。

继承

4.0.0

注意

标签助手属性设置为 public 以确保 Joomla 4.0 向后兼容。它将在 Joomla 6.0 中变为受保护属性。

类型

TagsHelper