CrudKit\Data\SQL\SQLColumn::addFilterToBuilder PHP Method

addFilterToBuilder() public method

public addFilterToBuilder ( $builder, $expr, $type, $value, boolean $orFlag = false ) : string
$builder QueryBuilder
$expr ExpressionBuilder
$type string
$value
$orFlag boolean
return string
    public function addFilterToBuilder($builder, $expr, $type, $value, $orFlag = false)
    {
        switch ($type) {
            case "contains":
            case "like":
                return $expr->like($this->getExpr(), $builder->createNamedParameter("%" . $value . "%"));
            case "sw":
                // starts with
                return $expr->like($this->getExpr(), $builder->createNamedParameter($value . "%"));
            case "ew":
                // starts with
                return $expr->like($this->getExpr(), $builder->createNamedParameter("%" . $value));
            case "eq":
                return $expr->eq($this->getExpr(), $builder->createNamedParameter($value));
            case "gt":
                return $expr->gt($this->getExpr(), $builder->createNamedParameter($value));
            case "gte":
                return $expr->gte($this->getExpr(), $builder->createNamedParameter($value));
            case "lt":
                return $expr->gt($this->getExpr(), $builder->createNamedParameter($value));
            case "lte":
                return $expr->gte($this->getExpr(), $builder->createNamedParameter($value));
            default:
                throw new \Exception("Unkown filter type {$type}");
        }
    }