SQL expression rewrite, Pagination, some frontend stuff
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace Core\Driver\SQL\Expression;
|
||||
|
||||
use Core\Driver\SQL\Condition\Condition;
|
||||
use Core\Driver\SQL\SQL;
|
||||
|
||||
class CaseWhen extends Expression {
|
||||
|
||||
@@ -20,4 +21,13 @@ class CaseWhen extends Expression {
|
||||
public function getTrueCase() { return $this->trueCase; }
|
||||
public function getFalseCase() { return $this->falseCase; }
|
||||
|
||||
function getExpression(SQL $sql, array &$params): string {
|
||||
$condition = $sql->buildCondition($this->getCondition(), $params);
|
||||
|
||||
// psql requires constant values here
|
||||
$trueCase = $sql->addValue($this->getTrueCase(), $params, true);
|
||||
$falseCase = $sql->addValue($this->getFalseCase(), $params, true);
|
||||
|
||||
return "CASE WHEN $condition THEN $trueCase ELSE $falseCase END";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user