콤마로 검색하기(comma, tag)가 가능할까요?

콤마 등을 이용한 복수 입력 방법을 소개해드립니다.

관련해서 궁금하신 점은 편하게 문의 남겨주세요. 감사합니다.

콤마(comma)로 입력

menus:
- path: pages/QkzkPT
  name: 콤마로 검색
pages:
- path: pages/QkzkPT
  blocks:
  - type: query
    resource: mysql.qa
    sqlType: select
    sql: >
      SELECT id, name, `type` 
      FROM properties2
      WHERE !LENGTH(:filter1) OR FIND_IN_SET(`type`, :filter1)
      LIMIT 5
  params:
    - key: filter1
      placeholder: 복수입력시 쉼표(,)

태그(tag)로 입력

menus:
- path: pages/QkzkPT2
  name: 태그로 검색
pages:
- path: pages/QkzkPT2
  blocks:
  - type: query
    resource: mysql.qa
    sqlType: select
    sql: >
      SELECT id, name, `type` 
      FROM properties2
      WHERE !LENGTH(CONCAT('', :filter1)) OR `type` IN (:filter1)
      LIMIT 5
  params:
    - key: filter1
      placeholder: 태그로 복수 입력
      datalist:
        - BNB
        - PENSION
      multiple: true
      selectOptions:
        enabled: true
        taggable: true

FIND_IN_SET()으로 조회 시 인덱스를 타지 못해서 검색에 시간이 너무 많이 소요됩니다. 한번에 여러 파라미터를 넘길 수 있는 다른 방법이 있나요?

아니면 기존 테이블에 데이터 초기화되지 않고 검색 시에 append 되는 식으로 설정이 가능할까요??

1개의 좋아요

@One_Step 네 관련하여 params filterOptions 기능이 있습니다.

기대하시는 방향과 다르다면 말씀해주세요. 감사합니다.

기대했던 방법은 Query에 in을 사용하여 검색할 때 params에 입력받은 값을 split(“,”) 으로 array 타입으로 변환하여 검색하는 방법이었습니다.

requestFn 함수를 이용하여 처리했습니다 :slight_smile:
답변 감사드립니다!

1개의 좋아요

아! 그러셨군요. 처리하셨다니 다행입니다.

추가로 도움 필요하시면 말씀주세요 :slight_smile: