동일한 테이블 Ruby on Rails의 외래 키 2 개로 일대 다 관계

user3678471

고객이라는 테이블이 있습니다. 이 테이블에는 두 개의 주소가 있습니다. 직장 주소 1 개, 집 방향 1 개

이 두 주소는 주소라는 테이블에 속합니다.이 두 테이블을 연결하는 방법을 모르겠습니다.

마이그레이션

 class CreateCustomers < ActiveRecord::Migration
  def change
    create_table :customers do |t|
      t.string :name
      t.integer :address_id   #Address of work
      t.integer :address_id_1 #Address of home
      t.timestamps
    end
  end
end

class CreateAdresses < ActiveRecord::Migration
  def change
    create_table :adresses do |t|
      t.string :street
      t.timestamps
    end
  end
end
우리

저는 이것이 좋은 접근 방식이나 데이터베이스 디자인이라고 생각하지 않습니다. 이 방법으로 진행하고 레일 규칙을 벗어나지 않으려면 두 개의 열을 address_id만들고address_two_id

그리고 customer.rb

belongs_to :address, class_name: "Address"
belongs_to :address_two, class_name: "Address"

기본적으로 rails는 외래 키의 이름을 가져와 "name"+ "_ id"라는 열에 저장합니다.


더 나은 방법은 두 가지가 열이되어 customer_id당신의 Address모델 및 고객 클래스의 관계를 만들

customer.rb

has_many :addresses

또한이 유효성 검사를 다음에 추가하여 고객의 주소가 2 개 이하인지 확인할 수도 있습니다.

address.rb

validate :validate_two_addresses

def validate_two_addresses
  address_count = Address.where(customer_id: self.customer_id).count
  errors.add(:base, "You cannot have more than 2 addresses.") unless address_count < 3
end

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

동일한 테이블 Ruby on Rails의 외래 키 2 개로 일대 다 관계

분류에서Dev

MVC 4 Entity Framework 동일한 테이블에 대한 두 개의 외래 키로 인해주기 또는 다중 계단식 경로가 발생합니다.

분류에서Dev

JPA Hibernate 두 개의 외래 키를 동일한 테이블로

분류에서Dev

tsql-새 ID와 외래 키 관계로 동일한 테이블의 데이터를 복사하는 방법

분류에서Dev

(MySQL) 동일한 테이블을 참조하는 2 개의 외래 키

분류에서Dev

2 개의 테이블에서 일대 다 관계 삭제

분류에서Dev

동일한 관계의 개별 하위 집합에 대한 다중 외래 키 제약

분류에서Dev

Oracle SQL Developer의 '일대 다'관계 2 개로 표시되는 테이블

분류에서Dev

동일한 테이블의 외래 키

분류에서Dev

MySQL : 동일한 테이블에 두 개의 외래 키 사용

분류에서Dev

동일한 필드를 얻기 위해 두 개의 다른 외래 키로 두 테이블을 조인

분류에서Dev

Entity Framework 테이블 분할 : 동일한 유형 계층 구조에 있지 않음 / 유효한 일대일 외래 키 관계가 없습니다.

분류에서Dev

동일한 테이블 및 동일한 외래 키에있는 두 개의 열

분류에서Dev

Rails-동일한 테이블에 대한 여러 외래 키

분류에서Dev

MYSQL : 동일한 테이블에서 두 개의 외래 키로 선택

분류에서Dev

EF : 일대일 관계의 외래 키?

분류에서Dev

동일한 테이블과 외래 키에있는 두 개의 기본 키

분류에서Dev

동일한 테이블 / 모델을 가리키는 두 개의 외래 키

분류에서Dev

Django 다 대일 관계, 텍스트 입력으로 외래 키

분류에서Dev

두 개의 외래 키를 포함하는 테이블에 대한 관계 모델링

분류에서Dev

두 개의 다른 테이블 열에 동일한 외래 키를 사용하는 MySQL

분류에서Dev

동일한 두 테이블 간의 일대일 및 일대 다 관계

분류에서Dev

동일한 외래 키를 가진 다 대다 테이블 Sequelize는 하나의 값만 선택합니다.

분류에서Dev

MySQL은 2 개의 테이블에서 동일한 값을 2 개의 다른 개수로 계산

분류에서Dev

2 개의 테이블 사이에 2 개의 일대 다 관계를 갖는 것이 허용됩니까?

분류에서Dev

동일한 테이블을 참조하는 두 개의 열에있는 테이블의 외래 키 제한

분류에서Dev

Ruby-On-Rails에서 두 개의 일대 다 관계

분류에서Dev

동일한 테이블을 참조하는 두 개의 외래 키에 대한 mysql 쿼리

분류에서Dev

값의 순서에 관계없이 두 개의 외래 키, '동일한 키'로 구성된 기본 키를 어떻게 만들 수 있습니까?

Related 관련 기사

  1. 1

    동일한 테이블 Ruby on Rails의 외래 키 2 개로 일대 다 관계

  2. 2

    MVC 4 Entity Framework 동일한 테이블에 대한 두 개의 외래 키로 인해주기 또는 다중 계단식 경로가 발생합니다.

  3. 3

    JPA Hibernate 두 개의 외래 키를 동일한 테이블로

  4. 4

    tsql-새 ID와 외래 키 관계로 동일한 테이블의 데이터를 복사하는 방법

  5. 5

    (MySQL) 동일한 테이블을 참조하는 2 개의 외래 키

  6. 6

    2 개의 테이블에서 일대 다 관계 삭제

  7. 7

    동일한 관계의 개별 하위 집합에 대한 다중 외래 키 제약

  8. 8

    Oracle SQL Developer의 '일대 다'관계 2 개로 표시되는 테이블

  9. 9

    동일한 테이블의 외래 키

  10. 10

    MySQL : 동일한 테이블에 두 개의 외래 키 사용

  11. 11

    동일한 필드를 얻기 위해 두 개의 다른 외래 키로 두 테이블을 조인

  12. 12

    Entity Framework 테이블 분할 : 동일한 유형 계층 구조에 있지 않음 / 유효한 일대일 외래 키 관계가 없습니다.

  13. 13

    동일한 테이블 및 동일한 외래 키에있는 두 개의 열

  14. 14

    Rails-동일한 테이블에 대한 여러 외래 키

  15. 15

    MYSQL : 동일한 테이블에서 두 개의 외래 키로 선택

  16. 16

    EF : 일대일 관계의 외래 키?

  17. 17

    동일한 테이블과 외래 키에있는 두 개의 기본 키

  18. 18

    동일한 테이블 / 모델을 가리키는 두 개의 외래 키

  19. 19

    Django 다 대일 관계, 텍스트 입력으로 외래 키

  20. 20

    두 개의 외래 키를 포함하는 테이블에 대한 관계 모델링

  21. 21

    두 개의 다른 테이블 열에 동일한 외래 키를 사용하는 MySQL

  22. 22

    동일한 두 테이블 간의 일대일 및 일대 다 관계

  23. 23

    동일한 외래 키를 가진 다 대다 테이블 Sequelize는 하나의 값만 선택합니다.

  24. 24

    MySQL은 2 개의 테이블에서 동일한 값을 2 개의 다른 개수로 계산

  25. 25

    2 개의 테이블 사이에 2 개의 일대 다 관계를 갖는 것이 허용됩니까?

  26. 26

    동일한 테이블을 참조하는 두 개의 열에있는 테이블의 외래 키 제한

  27. 27

    Ruby-On-Rails에서 두 개의 일대 다 관계

  28. 28

    동일한 테이블을 참조하는 두 개의 외래 키에 대한 mysql 쿼리

  29. 29

    값의 순서에 관계없이 두 개의 외래 키, '동일한 키'로 구성된 기본 키를 어떻게 만들 수 있습니까?

뜨겁다태그

보관