언어/typescript

[typeorm] ILIKE & Raw

STUFIT 2023. 5. 14. 23:22
반응형

- findAndCount 에서 where 조건에 Like 를 쓸 수 있는데 Like 는 대소문자를 구분하므로 ILike 를 사용하면 대소문자 구분없이 검색 가능하다.

 

const [restaurants, totalResults] = await this.restaurants.findAndCount({
        where: {
          name: ILike(`%${query}%`), // ILike 는 대소문자 구분하지 않고 찾아준다.
        },
        skip: (page - 1) * 25,
        take: 25,
      });

 

- Raw() 는 sql로 직접 DB접속하여 작성가능하게 해준다.

const [restaurants, totalResults] = await this.restaurants.findAndCount({
  where: {
    // name: ILike(`%${query}%`), // ILike 는 대소문자 구분하지 않고 찾아준다.
    name: Raw((name) => `${name} ILIKE '%${query}%'`),
  },
  skip: (page - 1) * 25,
  take: 25,
});
반응형