Class yii\db\ArrayExpression

继承yii\db\ArrayExpression
实现ArrayAccess, Countable, IteratorAggregate, yii\db\ExpressionInterface
可用自版本2.0.14
源代码 https://github.com/yiisoft/yii2/blob/master/framework/db/ArrayExpression.php

ArrayExpression 类表示一个数组 SQL 表达式.

此类型的表达式也可以在条件中使用:

$query->andWhere(['@>', 'items', new ArrayExpression([1, 2, 3], 'integer')])

这取决于 DBMS, 这将导致准备充分的条件. 例如, 在 PostgreSQL 中, 它将被编译为WHERE "items" @> ARRAY[1, 2, 3]::integer[].

方法详情

__construct() public 方法

ArrayExpression 构造函数.

public void __construct ( $value, $type null, $dimension 1 )
$value array|yii\db\QueryInterface|mixed

数组内容. 表示为值的数组或返回这些值的 查询. 单个值将被视为包含一个元素的数组.

$type string|null

数组元素的类型. 默认为null, 表示未明确指定类型. 如果未明确指定类型并且 DBMS 无法从上下文中猜测类型, 则将引发 SQL 错误.

$dimension integer

选择元素所需的索引数量.

count() public 方法 (可用自版本: 2.0.14)

计算对象的元素.

public integer count ( )
return integer

自定义计数为整数. 返回值强制转换为整数.

getDimension() public 方法

参见 dimensions.

public integer getDimension ( )
return integer

选择元素所需的索引数量.

getIterator() public 方法 (可用自版本: 2.0.14.1)

检索外部迭代器.

public Traversable getIterator ( )
return Traversable

实现IteratorTraversable的对象的实例.

throws yii\base\InvalidConfigException

当 ArrayExpression 包含 QueryInterface 对象时.

getType() public 方法

参见 type.

public null|string getType ( )
getValue() public 方法

参见 value.

public array|mixed|yii\db\QueryInterface getValue ( )
offsetExists() public 方法 (可用自版本: 2.0.14)

是否存在偏移量.

public boolean offsetExists ( $offset )
$offset mixed

要检查的偏移量.

return boolean

成功为true, 或失败为false. 如果返回的不是布尔值, 则返回值将强制转换为布尔值.

offsetGet() public 方法 (可用自版本: 2.0.14)

偏移量检索.

public mixed offsetGet ( $offset )
$offset mixed

要检索的偏移量.

return mixed

可以返回所有值类型.

offsetSet() public 方法 (可用自版本: 2.0.14)

偏移量设置.

public void offsetSet ( $offset, $value )
$offset mixed

为其分配值的偏移量.

$value mixed

要设置的值.

offsetUnset() public 方法 (可用自版本: 2.0.14)

移除偏移量.

public void offsetUnset ( $offset )
$offset mixed

要移除的偏移量.