Active Record의 has_and_belongs_to_many와 has_many :
5387 단어 associationActiveRecord
소개
안녕하세요.
금요일 밤입니다. 내일이 휴일이라고 생각하면 아침 일어나지 않아도 되니까요. 마음 밖에 여러가지 뿌릴 것 같아요.
하지만 슬슬 자고 싶기 때문에 하루 하나 Qiita를 남기고 꿈의 나라로 여행을 하려고 합니다.
이 기사에서 쓰기
Active Record 협회 (공식 railsguides에 대한 링크를 붙여 둡니다)
has_and_belongs_to_many
의 구현 코드를 읽어 보고 눈치챈 것을 힘들게 쓴다.배경
다 대다 연관을 표현할 때
has_and_belongs_to_many
또는 has_many :through
어느 것을 선택합니까? 했습니다.그러니까, 실체의 중개 테이블을 가져, 거기에 2개의 다대다의 관계를 가지는 모델의 id를 세트로 보존해 관련을 표현하고 있었군요.
하지만 지금 바로 다대다 관련을 갖게 될 것 같은 모델이 있어,
has_and_belongs_to_many
사용하고 있는 왜? has_and_belongs_to_many
를 사용하지 않는 이유가 있다고? 라고 PR로 질문되었을 때 자신은 명확하게 이유를 응할 수 없고, 그것이 계기로, 이 2개의 방법에 대해서 확실히 생각하려고 생각했습니다.※세상(google 선생님이 준비하고 있는 세계)에서
has_many :through
그만두자! 라는 의견이 많은 것도 보았습니다.하지만 여기에서는 특히 세상 여러분이 말씀하신 내용을 그렇게 생각한다는 것을 쓰는 것이 아니라, 어디까지나 코드를 따라 자신이 이해할 수 있었던 것, 할 수 없는 것, 그 위에의 2개의 차이에 대해 정리해 가면 좋겠다고 생각합니다.
좋아, 좋다.
이 방법에 대해 읽은 결과라는 소감
htps : // 기주 b. 코 m / 라이 ls / 라이 ls / b ぉ b / b13 아 5cb83 에어 00d6 아 3d71320fd276 또는 21049c2544 / 맘 l에서 r /는 s_an d_been gs_와 _ma ny. rb # L65
htps : // 기주 b. 코 m / 라이 ls / 라이 ls / b ぉ b / b13 아 5cb83 에어 00d6 아 3d71320fd276 또는 21049c2544 / 맘 l에서 r /는 s_an d_been gs_와 _ma ny. rb # L95
has_and_belongs_many
를 사용하고 있다.htps : // 기주 b. 이 m/라이 ls/라이 ls/bぉb/0 아 f3dd4438047d8c5783df1cfcf9c696b44bdf/아 ゔぇ레코 rd/ぃb/아치 ゔぇ_레코 rd/아소. rb # L1720
has_many
하고 있다htps : // 기주 b. 코 m / 라이 ls / 라이 ls / b ぉ b / b13 아 5cb83 에어 00d6 아 3d71320fd276 또는 21049c2544 / 맘 l에서 r /는 s_an d_been gs_와 _ma ny. rb # L59
htps : // 기주 b. 코 m / 라이 ls / 라이 ls / b ぉ b / b13 아 5cb83 에어 00d6 아 3d71320fd276 또는 21049c2544 / 맘 l에서 r /는 s_an d_been gs_와 _ma ny. rb#L14
belongs_to
에서 발견할 수 있어서 좋았다.https://魏Tub. 소 m/来 ls/来 ls/bぉb/b2 그림 b1d1c55 아 소리 s/부위 l에서 r/는 s_참ny. rb#L5
htps : // 기주 b. 코 m / 라이 ls / 라이 ls / b ぉ b / b13 아 5cb83 에어 00d6 아 3d71320fd276 또는 21049c2544 . rb # L18
htps : // 기주 b. 코 m / 라이 ls / 라이 ls / b ぉ b / b13 아 5cb83 에어 00d6 아 3d71320fd276 또는 21049c2544 / 맘 l에서 r /는 s_an d_been gs_와 _ma ny. rb # L69
수수께끼가 남았다.
오늘은
HasMany
에 대해서 달려서 밖에 할 수 없었습니다.「그 1」이라고 타이틀을 붙인 이상,
has_and_belongs_to_many
에 대한 코드도 내일 읽고 싶습니다. 그림이라도 정리할까. .그럼 이번 주도 평일 수고하셨습니다.
잘자. 좋은 밤을.
Happy coding!
Reference
이 문제에 관하여(Active Record의 has_and_belongs_to_many와 has_many :), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/xxl/items/837621ca06dcf8f0a3b7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)