*/ class ToolMapper extends QBMapper { public function __construct(IDBConnection $db) { parent::__construct($db, 'educai_tools', Tool::class); } public function findById(int $id): Tool { $qb = $this->db->getQueryBuilder(); $qb->select('*') ->from($this->getTableName()) ->where($qb->expr()->eq('id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT))) ->setMaxResults(1); return $this->findEntity($qb); } /** * @return array */ public function findAllEnabled(): array { $qb = $this->db->getQueryBuilder(); $qb->select('*') ->from($this->getTableName()) ->where($qb->expr()->eq('enabled', $qb->createNamedParameter(true, IQueryBuilder::PARAM_BOOL))) ->orderBy('name', 'ASC'); return $this->findEntities($qb); } /** * @return array */ public function findAllTools(): array { $qb = $this->db->getQueryBuilder(); $qb->select('*') ->from($this->getTableName()) ->orderBy('name', 'ASC'); return $this->findEntities($qb); } }