pdo->prepare('SELECT * FROM dd_entities WHERE code = :c AND is_active IS TRUE'); $st->execute([':c' => $code]); $e = $st->fetch(PDO::FETCH_ASSOC); if (!$e) { return null; } $e['fields'] = $this->getFields((int)$e['id']); $e['rules'] = $this->getRules((int)$e['id']); return $e; } public function getFields(int $entityId): array { $st = $this->pdo->prepare('SELECT * FROM dd_fields WHERE entity_id = :id ORDER BY ui_order NULLS LAST, id'); $st->execute([':id' => $entityId]); return $st->fetchAll(PDO::FETCH_ASSOC); } public function getRules(int $entityId): array { $st = $this->pdo->prepare('SELECT * FROM dd_rules WHERE entity_id = :id AND active IS TRUE'); $st->execute([':id' => $entityId]); return $st->fetchAll(PDO::FETCH_ASSOC); } public function getEnum(string $name): array { $st = $this->pdo->prepare(' SELECT ev.code, ev.label FROM dd_enums e JOIN dd_enum_values ev ON ev.enum_id = e.id WHERE e.name = :n AND ev.active IS TRUE ORDER BY ev.sort_order, ev.id '); $st->execute([':n' => $name]); return $st->fetchAll(PDO::FETCH_ASSOC); } }