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) : 
自版本

3.2

参数

table

Table资源父级的 Table 对象(可选)

id

int内容的 ID(可选)。

返回值

int

_getAssetTitle

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

_getAssetTitle() : 
自版本

3.2

返回值

字符串

_lock

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

_lock() : 
继承
自版本

1.7.0

抛出

RuntimeException

返回值

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,否则返回错误

check

重载的 check 函数。

check() : 
参见 Table::check()
自版本

1.5

返回值

bool如果实例是合理的并且能够存储在数据库中,则返回 True。

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。

def

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

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

1.7.0

已弃用

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

参数

property

string属性的名称。

default

mixed默认值。

返回值

混合类型

delete

通过主键值从数据库表中删除行的方法。

delete( pk = null) : 
继承
自版本

1.7.0

抛出

UnexpectedValueException

参数

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

抛出

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

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

抛出

UnexpectedValueException

参数

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>

getRules

获取记录规则的方法。

getRules() : \Joomla\CMS\Access\Rules
继承
自版本

1.7.0

返回值

Rules对象

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

抛出

UnexpectedValueException

参数

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

抛出

InvalidArgumentException

RuntimeException

UnexpectedValueException

参数

keys

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

reset

boolTrue 表示在加载新行之前重置默认值。

返回值

bool如果成功则为 True。如果未找到行则为 False。

move

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

move( delta, string|string[] where = '') : 
继承

负数将行向上移动到序列中,正数将行向下移动。

自版本

1.7.0

抛出

UnexpectedValueException

参数

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

抛出

UnexpectedValueException

参数

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

_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

类型

字符串