연관 정보

이른바 연관


Rubby on Rails의 Active Record에서 테이블 간(모델) 연관

방법 유형


belongs_to...(1 대 1 접속 설정)
has_one...(1 대 1"연결을 설정합니다. belongs to와는 다른 모델의 모든 예입니다.
has_many...1 대 다중 연결을 설정하는 데 자주 사용됩니다.
has_many :through...(다중 쌍 다중 연결을 설정하는 경우에 자주 사용됩니다. 연관된 피쳐는 두 모델 사이에 세 번째 모델(결합 모델)이 있다는 점입니다.
has_one :through...(다른 모델에 대해 1대1 연결을 설정합니다. 두 모델 사이에 제3의 모델(결합 모델)이 있는 것이 특징입니다.
has_and_belongs_to_man..."다른 모델과""멀티 쌍""연결을 생성합니다.through:을 지정하는 경우와 달리 세 번째 모델(결합 모델)은 포함되지 않습니다."

ex.) 트위터 같은 투고 애플리케이션일 때



User 한 사람에게 Posts에는 User 기고에 대한 여러 정보가 있습니다.
User와 Posts를 함께 사용하는 방법은 belongs입니다.to 방법과has매니 방법이야.
영어로 쓰면...
user has many posts(user 소유 posts)
posts belongs to user
그래서 User 모델에게는...
has_many :posts, dependent: :destroy 
Posts 모델에서
belongs_to :user
협력하다

dependent 옵션은


모델 모 레코드를 삭제할 때 하위 레코드를 삭제할지 여부를 선택합니다.

타입


옵션 설명
: 자식 레코드를 부모 레코드와 함께 삭제합니다.서브레코드의 호출도 실행합니다
:delete_하위 기록을 삭제합니다.직접 SQL이므로 콜백 없음
: nulify 하위 레코드의 외부 키워드 업데이트 NULL
:restrict_with_exception 하위 레코드가 있는 경우 ActiveRecord::DeleteRestriction Error
:restrict_with_error 하위 레코드가 존재하면 삭제에 실패하고 부모 레코드에 오류 정보를 추가합니다

좋은 웹페이지 즐겨찾기