Rails-이 테이블 또는 각 모델의 열에 대한 조인 테이블이 필요합니까?

사용자 3403328

예약 투어가있는 앱을 만들고 있습니다. 각 투어는 다른 날에 가능하며 각 예약은 하루에 속합니다. 내 질문은 내가 사용하려는 각 모델 (투어 및 예약)에 "일"열을 만들어야합니까, 아니면 아래와 같이 일종의 연결 및 / 또는 조인 테이블을 만들어야합니까?

어느 것이 더 적절한 지 잘 모르겠습니다. 내 목표는 각 투어에 대한 날짜를 추가 한 다음 예약 페이지에 해당 날짜를 표시하고 사용자가 날짜를 선택할 수 있도록하는 것입니다.

모델
예약
투어
days
days_tours (join table)

협회
투어 has_many : days_tours
투어 has_many : days, through : : days_tours
day has_many : days_tours
day has_many : tours, through : : days_tours
예약 has_one : day

jkdev

user_id, tour_id 및 day_id의 세 가지 외래 키가있는 Reservations 테이블을 사용합니다.

그러면 해당 테이블이 조인 테이블 역할을 할 수 있습니다.

그런 다음 필요에 따라 다음을 설정할 수 있습니다.

# User
  has_many :reservations
  has_many :tours, through: :reservations
  has_many :days, through: :reservations

# Tour
  has_many :reservations
  has_many :days, through: :reservations
  has_many :users, through: :reservations

# Day
  has_many :reservations
  has_many :users, through: :reservations
  has_many :tours, through: :reservations

또한 한쪽에있는 모든 has_many 또는 has_one은 다른쪽에 belongs_to가 필요함을 기억하십시오.

# Reservation
  belongs_to :user
  belongs_to :tour
  belongs_to :day

has_and_belongs_to_many의 경우 설정이 더 간단하지만 특히 두 개 이상의 모델을 결합하는 경우 has_many : through보다 훨씬 덜 유연합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

DB 테이블 조인 : 두 번째 테이블의 각 그룹에 대해 한 테이블의 값 반복

분류에서Dev

Entity Framework-각 테이블에 대해 별도의 모델이 필요합니까?

분류에서Dev

조인 테이블과 조인 테이블 모두에 고유 한 값이있는 Rails HabTM

분류에서Dev

조인 테이블 Ruby on Rails에 연결된 테이블의 데이터 요약

분류에서Dev

동일한 필드의 테이블에 대한 이중 조인

분류에서Dev

Rails-컨트롤러의 조인 테이블에 대한 IF 문

분류에서Dev

SQL LEFT JOIN은 각 조인에 대해 하나의 테이블에 대한 링크를 포함하여 여러 테이블을 조인합니다.

분류에서Dev

3 개의 테이블이있는 JOIN 및 열 조합에 대한 MAX 값

분류에서Dev

다른 두 테이블의 외래 키를 참조하는 값이있는 테이블 열에 대한 복합 조인

분류에서Dev

모든 조인 된 테이블에 대한 ID 열이있는 LEFT JOIN

분류에서Dev

JPA 엔티티 필드에 대한 모델 조회 테이블

분류에서Dev

Teradata SQL Tuning 필터에 OR 조건을 사용하여 동일한 테이블에 조인되는 거대한 테이블의 여러 열

분류에서Dev

한 테이블의 각 행에 대한 PostgreSQL은 다른 테이블의 모든 행을 결합합니다.

분류에서Dev

데이터베이스 또는 각 테이블에 대한 데이터 소스를 만들어야합니까?

분류에서Dev

SQL Server : 3 개의 테이블을 조인하고 각 테이블에서 하나의 열을 sum ()합니다.

분류에서Dev

각각에 대한 조건이있는 둘 이상의 테이블을 사용하여 SQL 쿼리를 작성하려면 어떻게해야합니까?

분류에서Dev

진실 테이블. 원하는 형식으로 각 행에 대한 각 True 값의 합계 인쇄

분류에서Dev

모델보기 (vb)를 사용하여 ASP.Net MVC 테이블의 각 사용자에 대한 개수 또는 합계 표시

분류에서Dev

한 테이블의 두 열을 다른 참조 테이블의 열에 결합

분류에서Dev

각도 2+, 매트 테이블-모델의 모델에 대해 필터링이 작동하지 않음

분류에서Dev

Rails : 하나의 테이블 / 모델에서 두 개의 참조

분류에서Dev

SQL Server의 한 테이블에있는 각 열에 대한 고유 한 결과

분류에서Dev

MyBatis는 동일한 유형의 조인 된 테이블에 대해 동일한 <sql> 조각을 여러 번 포함합니다.

분류에서Dev

방법 : 한 테이블의 한 열을 다른 테이블의 두 열에 조인 하시겠습니까?

분류에서Dev

두 테이블의 열 합산 후 테이블 조인

분류에서Dev

PowerBI는 테이블 B의 각 날짜에 대해 테이블 A의 행을 반복합니다.

분류에서Dev

여러 테이블이있는 Power BI의 데이터 모델에는 각각 FK가 있습니다.

분류에서Dev

Rails 모델에서 두 테이블 간의 관계는 어떻습니까?

분류에서Dev

각 고유 항목에 대한 첫 번째 또는 마지막을 얻기 위해 테이블 자체를 조인하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    DB 테이블 조인 : 두 번째 테이블의 각 그룹에 대해 한 테이블의 값 반복

  2. 2

    Entity Framework-각 테이블에 대해 별도의 모델이 필요합니까?

  3. 3

    조인 테이블과 조인 테이블 모두에 고유 한 값이있는 Rails HabTM

  4. 4

    조인 테이블 Ruby on Rails에 연결된 테이블의 데이터 요약

  5. 5

    동일한 필드의 테이블에 대한 이중 조인

  6. 6

    Rails-컨트롤러의 조인 테이블에 대한 IF 문

  7. 7

    SQL LEFT JOIN은 각 조인에 대해 하나의 테이블에 대한 링크를 포함하여 여러 테이블을 조인합니다.

  8. 8

    3 개의 테이블이있는 JOIN 및 열 조합에 대한 MAX 값

  9. 9

    다른 두 테이블의 외래 키를 참조하는 값이있는 테이블 열에 대한 복합 조인

  10. 10

    모든 조인 된 테이블에 대한 ID 열이있는 LEFT JOIN

  11. 11

    JPA 엔티티 필드에 대한 모델 조회 테이블

  12. 12

    Teradata SQL Tuning 필터에 OR 조건을 사용하여 동일한 테이블에 조인되는 거대한 테이블의 여러 열

  13. 13

    한 테이블의 각 행에 대한 PostgreSQL은 다른 테이블의 모든 행을 결합합니다.

  14. 14

    데이터베이스 또는 각 테이블에 대한 데이터 소스를 만들어야합니까?

  15. 15

    SQL Server : 3 개의 테이블을 조인하고 각 테이블에서 하나의 열을 sum ()합니다.

  16. 16

    각각에 대한 조건이있는 둘 이상의 테이블을 사용하여 SQL 쿼리를 작성하려면 어떻게해야합니까?

  17. 17

    진실 테이블. 원하는 형식으로 각 행에 대한 각 True 값의 합계 인쇄

  18. 18

    모델보기 (vb)를 사용하여 ASP.Net MVC 테이블의 각 사용자에 대한 개수 또는 합계 표시

  19. 19

    한 테이블의 두 열을 다른 참조 테이블의 열에 결합

  20. 20

    각도 2+, 매트 테이블-모델의 모델에 대해 필터링이 작동하지 않음

  21. 21

    Rails : 하나의 테이블 / 모델에서 두 개의 참조

  22. 22

    SQL Server의 한 테이블에있는 각 열에 대한 고유 한 결과

  23. 23

    MyBatis는 동일한 유형의 조인 된 테이블에 대해 동일한 <sql> 조각을 여러 번 포함합니다.

  24. 24

    방법 : 한 테이블의 한 열을 다른 테이블의 두 열에 조인 하시겠습니까?

  25. 25

    두 테이블의 열 합산 후 테이블 조인

  26. 26

    PowerBI는 테이블 B의 각 날짜에 대해 테이블 A의 행을 반복합니다.

  27. 27

    여러 테이블이있는 Power BI의 데이터 모델에는 각각 FK가 있습니다.

  28. 28

    Rails 모델에서 두 테이블 간의 관계는 어떻습니까?

  29. 29

    각 고유 항목에 대한 첫 번째 또는 마지막을 얻기 위해 테이블 자체를 조인하려면 어떻게해야합니까?

뜨겁다태그

보관