クラス yii\db\conditions\BetweenColumnsCondition
クラス BetweenColumnCondition は、値が2つの列の間にあるBETWEEN
条件を表します。例:
new BetweenColumnsCondition(42, 'BETWEEN', 'min_value', 'max_value')
// Will be build to:
// 42 BETWEEN min_value AND max_value
さらに複雑な例:
new BetweenColumnsCondition(
new Expression('NOW()'),
'NOT BETWEEN',
(new Query)->select('time')->from('log')->orderBy('id ASC')->limit(1),
'update_time'
);
// Will be built to:
// NOW() NOT BETWEEN (SELECT time FROM log ORDER BY id ASC LIMIT 1) AND update_time
公開メソッド
メソッド詳細
BETWEEN
演算子で条件を作成します。
public void __construct ( $value, $operator, $intervalStartColumn, $intervalEndColumn ) | ||
$value | ||
$operator | string |
使用する演算子 (例: |
$intervalStartColumn | string|yii\db\ExpressionInterface |
間隔の開始となる列名または式 |
$intervalEndColumn | string|yii\db\ExpressionInterface |
間隔の終了となる列名または式 |
public function __construct($value, $operator, $intervalStartColumn, $intervalEndColumn)
{
$this->value = $value;
$this->operator = $operator;
$this->intervalStartColumn = $intervalStartColumn;
$this->intervalEndColumn = $intervalEndColumn;
}
クエリビルダー – 演算子フォーマットガイド記事で説明されているように、配列定義によってオブジェクトを作成します。
public static $this fromArrayDefinition ( $operator, $operands ) | ||
$operator | string |
大文字の演算子。 |
$operands | array |
対応するオペランドの配列 |
throws | yii\base\InvalidArgumentException |
オペランドの数が間違っている場合にスローされます。 |
---|
public static function fromArrayDefinition($operator, $operands)
{
if (!isset($operands[0], $operands[1], $operands[2])) {
throw new InvalidArgumentException("Operator '$operator' requires three operands.");
}
return new static($operands[0], $operator, $operands[1], $operands[2]);
}
public string|yii\db\ExpressionInterface|yii\db\Query getIntervalEndColumn ( ) |
public function getIntervalEndColumn()
{
return $this->intervalEndColumn;
}
public string|yii\db\ExpressionInterface|yii\db\Query getIntervalStartColumn ( ) |
public function getIntervalStartColumn()
{
return $this->intervalStartColumn;
}
コメントするにはサインアップまたはログインしてください。