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