TIL

# 211130 TIL ([Ruby] DB 테이블에서 where 조건문으로 쿼리)

장기현장실습

PLSnote 이슈

#2678 노트작성 버튼이 나타나는 곳을  확대하고자 합니다 이슈 진행중 

  • 맵/본부/팀 에서  노트작성시 나타날 프로젝트 리스트 쿼리중 
    • 확인  계획이 있는 프로젝트 리스트만 가져와야해서 다시 쿼리를 수정했다. 사용자가 선택한 팀의 id가 있는 plans 테이블의 row를 가져오고 거기서 status가 open_plan  것만 가져왔다. 그리고  row의 project_id만 가져와 프로젝트 리스트를 보여주도록 했다.
      # project.rb
      # 팀의 프로젝트 리스트 중 새로운 계획 생성 가능한 프로젝트 목록 
      
      def self.has_plan_project(team) 
        where(id: team.plans.where(team_id: team, status: :open_plan).pluck(:project_id)) 
      end
    • 이슈맵일때는 계획 대신 이슈를 통해 프로젝트 리스트를 받아야하기 때문에 issues 테이블에 접근해야했다. 그런데 issues 테이블에는 team_id가 없어서 issue_team_orders 테이블에 접근해서 쿼리를 짜야하는 상황이었다.