getFilter($filters, $params); if ($sqlFilter != "") { $sql .= " where @@sqlFilter "; } return SqlHelper::createSafeSQL( $sql, [ "@@returnFields" => $returnFields, "@@tableName" => $tableName, "@@sqlFilter" => $sqlFilter ] ); } public function getRelation($name, $relation, $value, &$param) { $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 = [ 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) . ' '; } ]; return $data[$relation]($param, $name, $paramName, $value); } } __halt_compiler();----SIGNATURE:----GG2h2GhiAUoCRdCnlhMv5GaSQLcF0w/F9rbCzqRbDd8LwoqP1aOxoCOQOTOfa0xCnWnyBYK3kgLgTLLsey0jnVJjdyzaGk0gOpNhdo8bNLgK434hYBZ61JwVW4hhGGyeXm6Bh1uw772cRuFte/uiat8ivIaeXX5belIqoYcaZLbLZc4O7EYz8EvGVpFx5jgNl0JXFdwlBuJq14ut9GgXCmsbyWqPhE1FqQitUHCoy0uF8DbUZti6uboKSQk7rf/fxAGvn9p8aeAqSpnetvSnqgxKdNRc7ZrrdH0CI1CSM35SnngPuuhbXcpUgcSD5vXURMOSuO+9qnw0jwBBMzlPMk9TTSDiIQ3rHdVteL3q2WGwbdFt3uytr/n/1yismwl4WgEZTX+I9qfuu8ogX8k2fgpG9tRK0pwILEeHthllShDoo4OD3lfEmO41Z0qFggZ/7G6LoTY3+FRJAimY/itEdOpOPPWWuI0EphiQYACdWXcgFHylSNdON+fytzDq3iP1kWi/8B39lfSym3ZiBbl8G3Bg2ouxQIpVzVXqp9UpM5/x/71M00EOM4CZK14b/KCi0mofmMJeKEcDFch/+g1A0Yh7qNT/MXIhxxbCsL1bzhsOq8Zdhs7cfSCacire+uSqsR/wN7WqXnQOwG7cm/Kl/zTbusHRAb2h24dFsDhTgxA=----ATTACHMENT:----NjczMzc2MDE0MDg0Nzk5IDc2ODQzMDAzNDc3NDcwODIgNDk4ODU1NTg0NjA3NTcwNw==