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}");
}
}