async searchInCategory(categoryID: number, q: string) { return await this.tagRepository.createQueryBuilder('t') .select(['t.id', 't.name']) .leftJoin('t.categories', 'c') .where('c.id = :cID', { cID: categoryID}) .andWhere('t.name like :q', { q: `%${q}%` }) .getMany(); }
async listInCategory(categoryID: number) { return await this.tagRepository.createQueryBuilder('t') .select(['t.id', 't.name']) .leftJoin('t.categories', 'c') .where('c.id = :cID', { cID: categoryID}) .getMany(); }
// serves "points: [Points]" requests @Query() async points() { return this.entityManager.getRepository(Points).createQueryBuilder("points") .innerJoin("points.user", "user", "user.id = :id", { id: this.currentUser.id }) .getMany(); //return this.entityManager.find(Points); }
public async fetchPages(query: IFetchPageQuery) { const recordsToSkip = (query.page - 1) * query.perPage; if (query.search) { return await getManager() .createQueryBuilder(this.classType, this.alias) .where(`${this.alias}.id like :id`, { id: `%${query.search}%` }) .skip(recordsToSkip) .take(query.perPage) .getMany(); } else { return await getManager() .createQueryBuilder(this.classType, this.alias) .skip(recordsToSkip) .take(query.perPage) .getMany(); } }