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:----aGg194f9+oVNueFz1RuUAHcXJ3dQmWi9vSN8wXKQK04yaT9Do3bio83NYLtFwnSHTG31IZ+Jg2+AVBFDJTaQLRxwNuHGaXUktlvM5apMJoMDnLqjchI7BfxdKBlFtesrkscPSr6V7DLFJ1Qi5gLQzbODuI9uyyjsT7Q0GSrwC0K/Le1nZKg3cd9el5S4iRLfWOePgJTHcMo6MrsULy9Wt8/U5C2+/p8tJRJggjU1IbPtVQQsNwogl1Y3GhkeAXLNeU6o7RpoJrrGRUnLKZZFnHKkzc5uWiBjAlgrR5Kso8vsOW7CaIewA/8INjEXmuzfYGypL2YKnHXU+oecAAu7qyNvKy73p2BkeL0cx1OCmk4NS6VyUGsPN51kJaEw9nwnMRLOtJy781pQtuMujH+0kbMMG+US+xFgU7GQaIBrLBreQn+n5TjaD3JRXCN+IjYqtJtql8sx72YiD1Mq8LuvsroDqOyZZhLWyM8O+reObYzN3RlY9k0+kmQMaaRi4ZyrbKatmoUepl4DJD7TJ3NWePKJOiNJ6N2Se6M7+aUybhs3V/VdnhOLl37ToByeERoh5+XPlIjgdTWQgxNfM7Yxs8MOg56UNAzs57ieBe28r7yACYgVkYvViffOg1L18q/O7XiN+uFTAJa2tJLfpa9h7RsWlrL1xyBExgcE0HgVl+A=----ATTACHMENT:----OTY5NTA3ODY3MzI3MzY4MiA2Nzg2MTMyOTIxOTk3MTczIDU2ODQ2MTE0MDM5MDkyMDg=