Estoy trabajando en una API para la cual el requisito de la interfaz de usuario se basa en el valor del campo de búsqueda. Recibiré los resultados filtrados. Hay muchos campos de búsqueda en la interfaz de usuario.
Código de ejemplo -
async getRoomsByMember(active: boolean, email: string): Promise<any[]> { return await getRepository(Room) .createQueryBuilder('room') .innerJoinAndSelect('room.member', 'member') .where("room.active = :active", {active: active}) .andWhere("member.email = :email", { email: email }) .getMany(); }
Podré filtrar dinámicamente a los miembros de la sala si los valores ingresados por un usuario en campos de filtro como: número de teléfono del miembro, ciudad, estado, país y código postal.
Ya casi estás ahí :-)
Puedes intentar algo como esto:
async getRoomsByMember(active: boolean, email: string): Promise<any[]> { const query = getRepository(Room) .createQueryBuilder('room') .innerJoinAndSelect('room.member', 'member') .where("room.active = :active", {active: active}); // Keep adding your other fields like member phone number, city, state, country, and zip, like below if(email) { query.andWhere("member.email = :email", { email: email }) } return query.getMany(); }