ContentHistory

扩展 Table 实现 CurrentUserInterface

内容历史表。

3.2

Joomla CMS

方法

__construct

构造函数

__construct(\Joomla\Database\DatabaseDriver db, \Joomla\Event\DispatcherInterface dispatcher = null) : 

3.1

参数

db

DatabaseDriver数据库连接器对象

dispatcher

DispatcherInterface|null此表的事件调度器

响应

混合

_getAssetName

用于计算资产默认名称的方法。

_getAssetName() : 
继承

默认名称为 table_name.id 的形式,其中 id 是表主键的值。

1.7.0

响应

字符串

_getAssetParentId

用于获取注册此资产的父资产的方法。

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

默认情况下,所有资产都注册到 ID 为 ROOT 的节点,如果不存在则默认为 1。扩展类可以定义要查找的表和 ID。如果资产不存在,它将被创建。

1.7.0

参数

Table资产父级的表对象。

id

int要查找的 ID

响应

int

_getAssetTitle

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

_getAssetTitle() : 
继承

在跟踪资产时,每个资产都会保存一个标题,以便在统一的访问管理器中提供一些上下文。通常,这只会返回 $this->title 或 $this->name 或用于行主要名称的任何内容。如果没有覆盖此方法,则使用资产名称。

1.7.0

响应

string用作资产表中标题的字符串。

_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 加载的

参数

路径

array<string|int, mixed>|string要添加的文件系统路径或文件系统路径数组。

响应

array<string|int, mixed>要在其中查找 Table 类的文件系统路径数组。

appendPrimaryKeys

用于将此表的主键追加到查询的方法。

appendPrimaryKeys(\Joomla\Database\DatabaseQuery query,  pk = null) : 
继承

3.1.4

参数

查询

DatabaseQuery要追加的查询对象。

pk

mixed可选的主键参数。

响应

void

bind

用于将关联数组或对象绑定到 Table 实例的方法。此方法仅绑定公开可访问的属性,并且可以选择接受要忽略的属性数组以进行绑定。

bind(array|object src, array|string ignore = []) : 
继承

1.7.0

抛出

InvalidArgumentException

参数

src

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

ignore

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

响应

bool成功时为 True。

check

用于对 Table 实例属性执行完整性检查的方法,以确保它们可以安全地存储在数据库中。

check() : 
继承

子类应该覆盖此方法,以确保他们在存储到数据库之前存储的数据是安全的且符合预期。

1.7.0

响应

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。

deleteOldVersions

用于删除项目的最旧版本,仅保存最新版本的实用方法。

deleteOldVersions( maxVersions) : 

3.2

参数

maxVersions

int要保存的最大版本数。所有其他版本将被删除。

响应

bool成功时为 true,失败时为 false。

get

返回对象的属性或属性未设置时的默认值。

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

1.7.0

参见 CMSObject::getProperties()
已弃用

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

参数

property

string属性的名称。

default

mixed默认值。

响应

mixed属性的值。

getColumnAlias

用于返回“特殊”列(如排序、点击次数、已发布等)的真实名称的方法。通过这种方式,您可以自由地遵循您的 db 命名约定并使用内置的 \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。

getHashMatch

用于根据哈希值和 id 列获取匹配行的实用方法。

getHashMatch() : 

这使我们能够检查以确保我们没有保存重复的版本。

3.2

响应

string成功时的 SHA1 哈希。失败时为空字符串。

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 函数

参数

public

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

响应

array<string|int, mixed>

getRules

用于获取记录规则的方法。

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

1.7.0

响应

Rules对象

getSha1

实用程序方法,用于在删除选定值后获取哈希值。这使我们能够检测除修改日期之外的更改(修改日期将在每次保存时更改)。

getSha1( jsonData, \Joomla\CMS\Table\ContentType typeTable) : 

3.2

参数

jsonData

mixed一个对象或一个包含 JSON 编码数据的字符串。

typeTable

ContentType包含此内容类型数据的表对象。

响应

string成功时的 SHA1 哈希。失败时为空字符串。

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

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

响应

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

参数

pks

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

state

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

参数

src

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

orderingFilter

string用于更新排序的过滤器。

ignore

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

响应

bool成功时为 True。

set

修改对象的属性,如果它不存在,则创建它。

set( property,  value = null) : 
继承 已弃用

1.7.0

已弃用

4.3.0 将在 6.0 中删除为属性创建一个合适的设置器函数。

参数

property

string属性的名称。

value

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

参数

error

string错误消息。

响应

void

setProperties

根据命名数组/哈希设置对象属性。

setProperties( properties) : 
继承 已弃用

1.7.0

参见 CMSObject::set()
已弃用

4.3.0 将在 6.0 中删除为属性创建一个合适的设置器函数。

参数

properties

mixed一个关联数组或另一个对象。

响应

bool

setRules

用于设置记录规则的方法。

setRules( input) : 
继承

1.7.0

参数

input

mixed一个 Rules 对象、JSON 字符串或数组。

响应

void

store

覆盖 Table::store 以设置修改哈希值、用户 ID 和保存日期。

store( updateNulls = false) : 

3.2

参数

updateNulls

bool如果为 true,则即使字段为 null 也要更新字段。

响应

bool成功时为 True。

属性

_errors

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

继承 已弃用

1.7.0

已弃用

3.1.4 JError 已弃用。

类型

array<string|int, mixed>

_includePaths

用于搜索 Table 类的包含路径。

inherited static

3.0.0

类型

array<string|int, mixed>

tableFields

表字段缓存。

inherited static

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 值。

继承

3.10.0

类型

bool

typeAlias

UCM 类型别名。用于标签、内容版本控制等。留空以有效地禁用这些功能。

继承

4.0.0

类型

字符串

currentUser

当前用户对象。

继承

4.2.0

类型

User

ignoreChanges

在计算 SHA1 哈希值之前从数据对象中取消设置的对象字段数组。这使我们能够使用哈希值检测数据库行中的有意义更改。这可以从 #__content_types content_history_options 列中读取。

3.2

类型

array<string|int, mixed>

convertToInt

在计算 SHA1 哈希值之前转换为整数的对象字段数组。某些值在创建项目时与更改和保存项目时存储方式不同。这解决了这个问题。

这可以从 #__content_types content_history_options 列中读取。

3.2

类型

array<string|int, mixed>