여러 상위 개체의 하위 개체에 대한 활성 레코드 쿼리

앤드류 김

두 가지 모델이 있다고 가정 해 보겠습니다.

class Post < ActiveRecord::Base
  has_many :comments
end

class Comment < ActiveRecord::Base
  belongs_to :post
end

그런 다음 각각 3 개의 댓글이있는 2 개의 게시물을 작성했다고 가정합니다. 두 게시물에 속한 모든 댓글을 가져 오기 위해 두 게시물의 AR 관계에 대해 호출 할 수있는 쿼리가 있습니까?

나는 할 수있을 것이다:

@posts = Post.where(id: [1,2])
@comments = []
@posts.each do |post|
  @comments += post.comments
end

그러나 그것은 AR 관계가 아니며 이것은 단순한 쿼리 여야하는 것처럼 보입니다.

같은 것이 @posts.comments있습니까?

스매시

귀하의 질문은 "그 두 게시물에 속합니다"에 대해 이야기하지만을 사용하는 것이 좋습니다 Post.all. 따라서 모든 게시물에 대한 댓글을 쫓는 것인지 아니면 두 게시물에 대한 것인지 명확하지 않습니다.

두 게시물에 대한 댓글을 얻는 방법은 다음 12같습니다.

Comment.where post_id: [ 1, 2 ]

...하지만 ID를 모르는 경우 원하는 쿼리를 사용하여 관심있는 게시물을 반환하여 다음과 같은 하위 선택을 만들 수 있습니다.

Comment.where post: Post.where(owner: owner)
Comment.where post: Post.where("title LIKE ?", "%abc%")

또는 댓글에서 조인을 사용하여 다음과 같이 게시 할 수 있습니다.

Comment.joins(:post).where(posts: { owner: owner })

그래서 제 생각에 당신이 요구하는 것을하기위한 몇 가지 옵션이 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

여러 상위 레코드의 하위 속성에 대한 SUM 연산

분류에서Dev

여러 개체에 걸친 android firebase 쿼리 하위 개체

분류에서Dev

처리를위한 최소 라이브러리를 사용하여 왼쪽 및 오른쪽 채널에 대해 두 개의 FFT 개체를 만드는 방법

분류에서Dev

여러 테이블에서 선택하기 위해 SQL 쿼리를 활성 레코드로 변환

분류에서Dev

하나의 쿼리에서 상위 하위 레코드 검색

분류에서Dev

동일한 행의 여러 조건에 대한 레코드 수를 표시하는 쿼리 작성

분류에서Dev

2 개 이상의 값을 반환 한 하위 쿼리-특정 날짜의 값으로 날짜 범위에 대한 레코드 업데이트

분류에서Dev

여러 행을 결합한 각 레코드에 대해 가변 개수의 열을 반환하는 SQL 쿼리

분류에서Dev

각 도시에서 제품을 찾기위한 활성 레코드 쿼리

분류에서Dev

DynamoDB 테이블을 쿼리하여 생성 된 날짜별로 상위 100 개의 레코드 순서를 가져옵니다.

분류에서Dev

활성 레코드 개체, nil 처리

분류에서Dev

1 년 동안 상위 50 개 고객에 대한 여러 해 동안의 고객 별 판매 SQL 쿼리

분류에서Dev

Crate에서 동적 개체 필드를 쿼리하기위한 팁

분류에서Dev

여러 열에서 공통된 레코드를 찾기위한 MySQL 쿼리

분류에서Dev

모든 쿼리를 날짜 범위로 제한하는 활성 레코드

분류에서Dev

활성 레코드 쿼리-체인

분류에서Dev

쿼리 개체의 쿼리 범위를 코드에서 설정하는 방법은 무엇입니까?

분류에서Dev

"시작"및 "중지"날짜를 기록하는 테이블에서 주어진 날짜의 활성 레코드를 찾기위한 쿼리

분류에서Dev

상위 10 개 쿼리를 사용하여 관련된 모든 레코드 검색

분류에서Dev

여러 개체 속성에 대한 다중 정렬을 위해 다음 코드에서 사양이 반전 된 이유는 무엇입니까?

분류에서Dev

중복 레코드를 찾기위한 자체 조인 쿼리

분류에서Dev

목록의 다른 모든 개체에 대해 여러 개체의 위치를 확인하는 C ++ OPENGL

분류에서Dev

활성 레코드 : 여러 하위 모델 유형이있는 상위 모델

분류에서Dev

gremlin-쿼리 최적화-여러 간격 범위에 대한 속성 값 개수

분류에서Dev

쿼리별로 n 개의 상위 레코드를 순서대로 가져 오는 방법

분류에서Dev

"상위"개체에 대한 액세스

분류에서Dev

동일한 개체를 여러 번 추가하는 ArrayList의 결과에 객체를 "무작위로 생성 된"추가 여러

분류에서Dev

정렬 된 레코드 중에서 고유 한 상위 1 개를 찾는 sqlite3 쿼리

분류에서Dev

BigQuery : 상관 된 하위 쿼리에서 레코드 유형의 고유 한 값을 반환해야합니다.

Related 관련 기사

  1. 1

    여러 상위 레코드의 하위 속성에 대한 SUM 연산

  2. 2

    여러 개체에 걸친 android firebase 쿼리 하위 개체

  3. 3

    처리를위한 최소 라이브러리를 사용하여 왼쪽 및 오른쪽 채널에 대해 두 개의 FFT 개체를 만드는 방법

  4. 4

    여러 테이블에서 선택하기 위해 SQL 쿼리를 활성 레코드로 변환

  5. 5

    하나의 쿼리에서 상위 하위 레코드 검색

  6. 6

    동일한 행의 여러 조건에 대한 레코드 수를 표시하는 쿼리 작성

  7. 7

    2 개 이상의 값을 반환 한 하위 쿼리-특정 날짜의 값으로 날짜 범위에 대한 레코드 업데이트

  8. 8

    여러 행을 결합한 각 레코드에 대해 가변 개수의 열을 반환하는 SQL 쿼리

  9. 9

    각 도시에서 제품을 찾기위한 활성 레코드 쿼리

  10. 10

    DynamoDB 테이블을 쿼리하여 생성 된 날짜별로 상위 100 개의 레코드 순서를 가져옵니다.

  11. 11

    활성 레코드 개체, nil 처리

  12. 12

    1 년 동안 상위 50 개 고객에 대한 여러 해 동안의 고객 별 판매 SQL 쿼리

  13. 13

    Crate에서 동적 개체 필드를 쿼리하기위한 팁

  14. 14

    여러 열에서 공통된 레코드를 찾기위한 MySQL 쿼리

  15. 15

    모든 쿼리를 날짜 범위로 제한하는 활성 레코드

  16. 16

    활성 레코드 쿼리-체인

  17. 17

    쿼리 개체의 쿼리 범위를 코드에서 설정하는 방법은 무엇입니까?

  18. 18

    "시작"및 "중지"날짜를 기록하는 테이블에서 주어진 날짜의 활성 레코드를 찾기위한 쿼리

  19. 19

    상위 10 개 쿼리를 사용하여 관련된 모든 레코드 검색

  20. 20

    여러 개체 속성에 대한 다중 정렬을 위해 다음 코드에서 사양이 반전 된 이유는 무엇입니까?

  21. 21

    중복 레코드를 찾기위한 자체 조인 쿼리

  22. 22

    목록의 다른 모든 개체에 대해 여러 개체의 위치를 확인하는 C ++ OPENGL

  23. 23

    활성 레코드 : 여러 하위 모델 유형이있는 상위 모델

  24. 24

    gremlin-쿼리 최적화-여러 간격 범위에 대한 속성 값 개수

  25. 25

    쿼리별로 n 개의 상위 레코드를 순서대로 가져 오는 방법

  26. 26

    "상위"개체에 대한 액세스

  27. 27

    동일한 개체를 여러 번 추가하는 ArrayList의 결과에 객체를 "무작위로 생성 된"추가 여러

  28. 28

    정렬 된 레코드 중에서 고유 한 상위 1 개를 찾는 sqlite3 쿼리

  29. 29

    BigQuery : 상관 된 하위 쿼리에서 레코드 유형의 고유 한 값을 반환해야합니다.

뜨겁다태그

보관