Skip to main content

Dynamic GET Builder

Visual Crossโ€‘Table Queries

Joomla! Component Builder (JCB) introduces Dynamic GETs: a powerful GUI-driven visual query builder that lets you define complex database queriesโ€”joins, filters, groupings, and orderingโ€”without writing SQL manually. The system translates your configurations into safe, Joomla-compliant PHP model code and SQL queries at compile time.

What Are Dynamic GETs?

  • Visual database query builder (joins, filters, ordering, grouping)
  • Define a **primary table**, then append multiple related tables
  • Select fields across joins directly within the GUI
  • No SQL neededโ€”JCB generates all required `Query` API calls

These are comparable to ORM relationship tools or visual query composition engines.

How They Integrate

  • Each Site View or Custom Admin View includes a main Dynamic GET, which supplies the item or list data
  • You can attach additional Dynamic GETs to the same view, merging unrelated tables into a single data model

When output is compiled, the generated model code includes all necessary `join()`, `where()`, `group()`, and `order()` statements.

Use Cases

  • Reporting Dashboards: Join transactions, users, and products for analytics
  • Filterable Lists: Dynamic filters tied to joined data across tables
  • Custom Admin Views: Merge data from multiple component tables with ease

All built visually, and compiled into secure and performant code.

Workflow in JCB

  • Create or open a view (site or custom admin)
  • Open the Dynamic GET editor
  • Choose primary table
  • Join related tables and select fields
  • Add filters, `WHERE`, `ORDER BY`, `GROUP BY` clauses
  • Save and compileโ€”JCB places the logic directly into the model code

Entity-Based Query Sharing

Dynamic GETs are managed like other JCB entities:

  • Init them from official repositories
  • Reset to pull updates from upstream
  • Push your custom Dynamic GETs
  • Fork DIY query structures via Git workflow

This enables sharing and updating query logic centrally across teams or projects.

Why It Matters

  • Visual, non-code-driven SQL composition
  • Advanced querying without manually writing SQL
  • Reuse in any view, keeping your code DRY
  • Fully integrated into models, with Joomla API best practices