类 TupleComparison
此表达式表示用于比较一个元组与另一个元组、一个元组与一组其他元组或一个元组与一个表达式的 SQL 片段。
属性摘要
-
$_field 受保护
Cake\Database\ExpressionInterface|array|string
要在运算符左侧使用的字段名称或表达式。
-
$_isMultiple 受保护
bool
此表达式中的值是否可遍历。
-
$_operator 受保护
string
用于比较字段和值的运算符。
-
$_type 受保护
string|null
用于将值转换为数据库表示的类型。
-
$_value 受保护
mixed
要在运算符右侧使用的值。
-
arrayCake\Database\ExpressionInterface>
此表达式中值中找到的 ExpressionInterface 对象的缓存列表。
-
$types 受保护
array<string|null>
用于将值转换为数据库表示的类型。
方法摘要
-
__clone() 公开
创建深度克隆。
-
__construct() 公开
构造函数
-
_bindValue() 受保护
在占位符生成器中注册一个值并返回生成的占位符
-
_castToExpression() 受保护
如果类型类实现了 ExpressionTypeInterface,则有条件地将传递的值转换为 ExpressionInterface 对象。否则,返回未修改的值。
-
_collectExpressions() 受保护
返回一个数组,第一个位置是原始 $values,第二个位置是所有可以在其中找到的 ExpressionInterface 对象。
-
_flattenValue() 受保护
将可遍历值转换为由 $binder 生成的占位符集,并以
,
分隔。 -
_requiresToExpressionCasting() 受保护
返回一个数组,其中包含从参数传递的类型名称列表中需要将值转换为表达式的类型。
-
_stringExpression() 受保护
在使用占位符 $binder 注册值后,返回一个模板和一个占位符。
-
_stringifyValues() 受保护
返回一个字符串,其中值作为占位符位于字符串中,用于此表达式的 SQL 版本。
-
_traverseValue() 受保护
如果传递的值是 ExpressionInterface,则有条件地为传递的值执行回调。
-
getField() 公开
返回字段名称。
-
getOperator() 公开
返回用于比较的运算符。
-
getType() 公开
返回用于将值转换为数据库表示的类型。
-
getValue() 公开
返回用于比较的值。
-
isMulti() 公开
确定此表达式中的每个值本身是否都是一个元组。
-
setField() 公开
设置字段名称。
-
setOperator() 公开
设置用于比较的运算符。
-
setValue() 公开
设置值。
-
sql() 公开
将节点转换为 SQL 字符串片段。
-
traverse() 公开
递归地迭代表达式的每个部分,针对表达式树的每一层,并执行回调,并将当前正在迭代的表达式的实例作为第一个参数传递。
方法详细信息
__construct() ¶ 公开
__construct(Cake\Database\ExpressionInterface|array|string $fields, Cake\Database\ExpressionInterface|array $values, array<string|null> $types = [], string $conjunction = '=')
构造函数
参数
-
Cake\Database\ExpressionInterface|array|string
$fields 用于形成元组的字段。
-
Cake\Database\ExpressionInterface|array
$values 用于形成元组的值。
-
array<string|null>
$types 可选 用于将每个值转换为类型的类型名称,每个值数组中的位置只需要一个类型。
-
string
$conjunction 可选 用于比较字段和值的运算符。
_bindValue() ¶ 受保护
_bindValue(mixed $value, Cake\Database\ValueBinder $binder, string|null $type = null): string
在占位符生成器中注册一个值并返回生成的占位符
参数
-
mixed
$value -
Cake\Database\ValueBinder
$binder -
string|null
$type 可选
返回值
string
_castToExpression() ¶ 受保护
_castToExpression(mixed $value, string|null $type = null): mixed
如果类型类实现了 ExpressionTypeInterface,则有条件地将传递的值转换为 ExpressionInterface 对象。否则,返回未修改的值。
参数
-
mixed
$value 要转换为 ExpressionInterface 的值。
-
string|null
$type 可选 类型名称。
返回值
mixed
_collectExpressions() ¶ 受保护
_collectExpressions(Cake\Database\ExpressionInterface|iterable $values): array
返回一个数组,第一个位置是原始 $values,第二个位置是所有可以在其中找到的 ExpressionInterface 对象。
参数
-
Cake\Database\ExpressionInterface|iterable
$values 要插入的行。
返回值
array
_flattenValue() ¶ 受保护
_flattenValue(iterable $value, Cake\Database\ValueBinder $binder, string|null $type = null): string
将可遍历值转换为由 $binder 生成的占位符集,并以 ,
分隔。
参数
-
iterable
$value 要展平的值。
-
Cake\Database\ValueBinder
$binder 要使用的值绑定器。
-
string|null
$type 可选 要将值转换为的类型。
返回值
string
_requiresToExpressionCasting() ¶ 受保护
_requiresToExpressionCasting(array $types): array
返回一个数组,其中包含从参数传递的类型名称列表中需要将值转换为表达式的类型。
参数
-
array
$types 类型名称列表。
返回值
array
_stringExpression() ¶ 受保护
_stringExpression(Cake\Database\ValueBinder $binder): array
在使用占位符 $binder 注册值后,返回一个模板和一个占位符。
参数
-
Cake\Database\ValueBinder
$binder 要使用的值绑定器。
返回值
array
_stringifyValues() ¶ 受保护
_stringifyValues(Cake\Database\ValueBinder $binder): string
返回一个字符串,其中值作为占位符位于字符串中,用于此表达式的 SQL 版本。
参数
-
Cake\Database\ValueBinder
$binder 要使用表达式转换的值绑定器。
返回值
string
_traverseValue() ¶ 受保护
_traverseValue(mixed $value, Closure $callback): void
如果传递的值是 ExpressionInterface,则有条件地为传递的值执行回调。
参数
-
mixed
$value 要遍历的值。
-
Closure
$callback 遍历时要使用的回调。
返回值
void
getField() ¶ 公开
getField(): Cake\Database\ExpressionInterface|array|string
返回字段名称。
返回值
Cake\Database\ExpressionInterface|array|string
setField() ¶ 公开
setField(Cake\Database\ExpressionInterface|array|string $field): void
设置字段名称。
参数
-
Cake\Database\ExpressionInterface|array|string
$field 要比较的字段。
返回值
void
setOperator() ¶ 公开
setOperator(string $operator): void
设置用于比较的运算符。
参数
-
string
$operator 用于比较的操作符。
返回值
void
sql() ¶ public
sql(Cake\Database\ValueBinder $binder): string
将节点转换为 SQL 字符串片段。
参数
-
Cake\Database\ValueBinder
$binder
返回值
string
traverse() ¶ public
traverse(Closure $callback): $this
递归地迭代表达式的每个部分,针对表达式树的每一层,并执行回调,并将当前正在迭代的表达式的实例作为第一个参数传递。
参数
-
Closure
$callback
返回值
$this
属性详情
$_valueExpressions ¶ protected
此表达式中值中找到的 ExpressionInterface 对象的缓存列表。
类型
arrayCake\Database\ExpressionInterface>