getFilter($filters, $params); if ($sqlFilter != "") { $sql .= " where @@sqlFilter "; } return SqlHelper::createSafeSQL( $sql, [ "@@returnFields" => $returnFields, "@@tableName" => $tableName, "@@sqlFilter" => $sqlFilter ] ); } public function getRelation(string $name, Relation $relation, mixed $value, array &$param): string { $paramName = $name; $counter = 0; while (array_key_exists($paramName, $param)) { $paramName = $name . ($counter++); } $paramStr = function (&$param, $paramName, $value) { $param[$paramName] = trim($value); $result = ":$paramName"; if (is_object($value)) { unset($param[$paramName]); $result = $value->__toString(); } return $result; }; $data = match ($relation) { Relation::EQUAL => function (&$param, $name, $paramName, $value) use ($paramStr) { return " $name = " . $paramStr($param, $paramName, $value) . ' '; }, Relation::GREATER_THAN => function (&$param, $name, $paramName, $value) use ($paramStr) { return " $name > " . $paramStr($param, $paramName, $value) . ' '; }, Relation::LESS_THAN => function (&$param, $name, $paramName, $value) use ($paramStr) { return " $name < " . $paramStr($param, $paramName, $value) . ' '; }, Relation::GREATER_OR_EQUAL_THAN => function (&$param, $name, $paramName, $value) use ($paramStr) { return " $name >= " . $paramStr($param, $paramName, $value) . ' '; }, Relation::LESS_OR_EQUAL_THAN => function (&$param, $name, $paramName, $value) use ($paramStr) { return " $name <= " . $paramStr($param, $paramName, $value) . ' '; }, Relation::NOT_EQUAL => function (&$param, $name, $paramName, $value) use ($paramStr) { return " $name <> " . $paramStr($param, $paramName, $value) . ' '; }, Relation::STARTS_WITH => function (&$param, $name, $paramName, $value) use ($paramStr) { $value .= "%"; return " $name like " . $paramStr($param, $paramName, $value) . ' '; }, Relation::CONTAINS => function (&$param, $name, $paramName, $value) use ($paramStr) { $value = "%" . $value . "%"; return " $name like " . $paramStr($param, $paramName, $value) . ' '; }, Relation::IN => function (&$param, $name, $paramName, $value) { $placeholders = implode(', ', array_map(fn($v, $i) => ":$paramName$i", $value, array_keys($value))); foreach ($value as $i => $v) { $param["$paramName$i"] = $v; } return " $name IN ($placeholders) "; }, Relation::NOT_IN => function (&$param, $name, $paramName, $value) { $placeholders = implode(', ', array_map(fn($v, $i) => ":$paramName$i", $value, array_keys($value))); foreach ($value as $i => $v) { $param["$paramName$i"] = $v; } return " $name NOT IN ($placeholders) "; }, Relation::IS_NULL => function (&$param, $name, $paramName, $value) { return " $name IS NULL "; }, Relation::IS_NOT_NULL => function (&$param, $name, $paramName, $value) { return " $name IS NOT NULL "; }, }; return $data($param, $name, $paramName, $value); } }__halt_compiler();----SIGNATURE:----GSGCU3XP2dcHH3y4Ml8NRHYtDQtyHiUhyLwk2RddTzwtFK2gZeAp1QXDBI9IcJb0lyYFqKJSdsyRuHMGD1vT1IA8goilEXd4nbPd/+T1jChUwROiIYauxwIPrtYp0SoQO0F8a7m7K8YxWi4GEusSaAbQa1ZBxzstyMEPUhTiZRYxLv1mjev9OaGpJPVsuTItkSugsL+8tEqaOeulDrKe2db/CjgALqNA1bN570Ke4/PphdCY3WTEJqyC4aQkaH3j8TzaCcg3z43H+sztTK8ceTrqtZ3yJAfx1DFFCyfJGWdPDgLjTuKf1Balk+mLAQmHhDDwjcoyvSQZgfkcjR+Yku74OXNxWRu5dwo0/EvKuJyJX4VyBefJ8jWwbCT9tE8A20YMUtIjBqdMZHAlII+fZYIckI1W/2UpRtTokIeG4Ty5MxzQd9aib7AITSzyst5WoIjLpU3sWt1fX8z1isZfX9n9R/GlB72iZcVtKdIJFwMOEFeyS+7K0Svo8YuGOchOkCnkvPmznz/oH0Jh2AGuxmCSvvSg/9/NEgK2QXiBVFKYhZCrVyuvuJKKv/tJR/QvkWuB9sIQmOjHhnrB9HyfVWZnOX9MwAj4WDDE7wuDylwHbUCv4AmmaHwW4RvvYVnP2LWxVMpsTYmHQh1BujE5o8ka5oOq+dwK5j3IEnQVLug=----ATTACHMENT:----MTk1MTYwNDg2ODI0MzMyNyA4MjgzNjg0NDA2MjkwODcxIDY5MDk3MDI2MjE5ODE2MzU=