Bug Fixes + IN Operator + User deletion

This commit is contained in:
2020-06-23 22:24:56 +02:00
parent e6361a3c91
commit d8846ff132
8 changed files with 163 additions and 23 deletions

View File

@@ -0,0 +1,19 @@
<?php
namespace Driver\SQL\Condition;
use Driver\SQL\Column\Column;
class CondIn extends Condition {
private string $column;
private array $values;
public function __construct(string $column, array $values) {
$this->column = $column;
$this->values = $values;
}
public function getColumn() { return $this->column; }
public function getValues() { return $this->values; }
}

View File

@@ -5,6 +5,7 @@ namespace Driver\SQL;
use Driver\SQL\Column\Column;
use Driver\SQL\Condition\Compare;
use Driver\SQL\Condition\CondBool;
use Driver\SQL\Condition\CondIn;
use Driver\SQL\Condition\CondOr;
use Driver\SQL\Condition\Regex;
use Driver\SQL\Constraint\Constraint;
@@ -334,6 +335,14 @@ abstract class SQL {
}
return implode(" AND ", $conditions);
}
} else if($condition instanceof CondIn) {
$values = array();
foreach ($condition->getValues() as $value) {
$values[] = $this->addValue($value, $params);
}
$values = implode(",", $values);
return $this->columnName($condition->getColumn()) . " IN ($values)";
} else {
$this->lastError = "Unsupported condition type: " . get_class($condition);
return false;