What problem does it solve?
OrangeHRM enforces a strict, consistent data access pattern across all its plugins, and deviating from this pattern leads to inconsistent code, performance bugs (especially with joined queries and pagination), and avoidable errors like SQL injection or incorrect transaction handling. This Skill eliminates the guesswork by providing a complete reference for the project's standard DAO implementation practices.
Core Features & Use Cases
- Standard DAO Pattern Reference: Covers plugin-specific
<Name>Dao classes extending BaseDao, the EntityManagerHelperTrait method catalog, and the full lifecycle of DAO methods from API request to data return.
- QueryBuilder Best Practices: Documents join patterns, expression builder usage (orX/andX/like/concat/in/isNull), conditional joins, parameter binding, and result retrieval strategies including partial DTO projections for blob columns.
- Pagination & Transaction Guidance: Explains how to use
Paginator for accurate counts on joined queries, QueryBuilderWrapper for returning buildable query builders, and explicit transaction management for multi-step atomic writes.
- Use Case Example: Use this Skill when you need to implement a new paginated, filterable employee list endpoint, debug a query that returns incorrect counts due to JOIN duplicates, or wrap a bulk employee import in a transaction to ensure data consistency.
Quick Start
Use the daos skill to write a new DAO method that retrieves a paginated list of job titles filtered by name, with accurate total count for the UI.