没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\db\JsonExpression

继承yii\db\JsonExpression
实现JsonSerializable, yii\db\ExpressionInterface
可用版本自2.0.14
源码 https://github.com/yiichina/yii2/blob/api/framework/db/JsonExpression.php

JsonExpression 类表示应编码为 JSON 的数据。

例如:

new JsonExpression(['a' => 1, 'b' => 2]); // will be encoded to '{"a": 1, "b": 2}'

受保护的属性

隐藏继承的属性

属性类型描述被定义在
$type string|null 表达式应该被转为的 JSON 的类型。默认为 null, 表示不会执行显式转换。 只有支持不同类型 JSON 的 DBMS 才会遇到此属性。 例如,PostgreSQL 有 jsonjsonb 类型。 yii\db\JsonExpression
$value mixed 要编码为 JSON 的值。 该值必须与 [\yii\helpers\Json::encode()|Json::encode()]] 输入要求兼容。 yii\db\JsonExpression

公共方法

隐藏继承的方法

方法描述被定义在
__construct() JsonExpression 构造函数。 yii\db\JsonExpression
getType() yii\db\JsonExpression
getValue() yii\db\JsonExpression
jsonSerialize() 指定应序列化为 JSON 的数据 yii\db\JsonExpression

常量

隐藏继承的常量

常量描述被定义在
TYPE_JSON 'json' yii\db\JsonExpression
TYPE_JSONB 'jsonb' yii\db\JsonExpression

属性详情

$type 受保护 属性

表达式应该被转为的 JSON 的类型。默认为 null, 表示不会执行显式转换。 只有支持不同类型 JSON 的 DBMS 才会遇到此属性。 例如,PostgreSQL 有 jsonjsonb 类型。

protected string|null $type null
$value 受保护 属性

要编码为 JSON 的值。 该值必须与 [\yii\helpers\Json::encode()|Json::encode()]] 输入要求兼容。

protected mixed $value null

方法详情

__construct() 公共 方法

JsonExpression 构造函数。

参见 $type.

public void __construct($value, $type null)
$value mixed

要编码为 JSON 的值。 该值必须与 [\yii\helpers\Json::encode()|Json::encode()]] 要求兼容。

$type string|null

JSON 的类型。请参阅 yii\db\JsonExpression::$type

getType() 公共 方法

参见 $type.

public null|string getType()
return null|string

JSON 的类型

getValue() 公共 方法

参见 $value.

public mixed getValue()
jsonSerialize() 公共 方法 (自版本 2.0.14.2 可用)

指定应序列化为 JSON 的数据

public mixed jsonSerialize()
return mixed

可以通过 json_encode 序列化的数据, 它是除资源之外的任何类型的值。

throws yii\base\InvalidConfigException

当 JsonExpression 包含 QueryInterface 对象时抛出的异常