에 새로운 기록을 얻을. 내가 어떻게 그럴 수 있니 ???레일 내가이 같은 일부 모델이 많은 has_many
0
A
답변
1
이 일을 시도 할 수 있습니다 - 당신은 아래와 같이 시도 할 수
newest_log = LogActivity.eager_load(:call_logs, :send_email_logs, :send_sms_logs).last
# The above will fire a query and fetch all the data you need, the below lines will segregate your data
newest_call_log = newest_log.call_logs.last
newest_sent_email_log = newest_log.send_email_logs.last
newest_sent_sms_log = newest_log.send_sms_logs.last
0
-
newest_call_log = LogActivity.call_logs.last
newest_sent_email_log = LogActivity.send_email_logs.last
newest_sent_sms_log = LogActivity.send_sms_logs.last
단일 쿼리 대안이 작업을 수행하는 것입니다 :
LogActivity.joins(:call_logs, :send_email_logs, :send_sms_logs).where(log_activity_id: 1 or something)
자세한 설명은 , 레일을 볼 수 있습니다 guide link
감사합니다
+0
과 같이 세 가지 객체를 모두 제공 할 것이라고 제안해야합니다. call_logs, send_email_logs, send_sms_logs 또는이 세 가지 항목 중 마지막으로 생성 된 하나의 객체 –
관련 문제
- 1. has_many belongs_to. 레일 내가 모델이 5
- 2. 레일 has_many belongs_to 같은 양식
- 3. has_many 조건은 나는 다음과 같은 모델이
- 4. 내가이 세 모델이 고안
- 5. 레일 has_many 쿼리
- 6. 레일 has_many : 통해
- 7. Sequelize 내가이 같은 검증와 sequelize 모델이()
- 8. 레일 has_many : through has_many : through
- 9. 레일 액티브 : 같은 모델이 개 협회
- 10. 레일 모델이 많은 목록 유형에 속하는
- 11. 레일. Has_many :
- 12. 레일 3.1, has_many : 통해, HABTM
- 13. 레일 Has_many 및 Belongs_to
- 14. 레일 : has_many : 추가 표가없는 경우
- 15. 레일 예를 들어, 나는이 같은 모델이 모델
- 16. 레일 터치 내가 같은 일련의 모델이 모델
- 17. 일부 고정 값이있는 Yii HAS_MANY
- 18. 레일, has_many 및 조인
- 19. 단일 테이블 상속 레일 has_many
- 20. 내가이 같은 많은 항목이 테이블 (카운트)가
- 21. 레일 has_many 관계가 이상합니다
- 22. 레일 내가 세 가지 모델이
- 23. 레일을 통해 has_many 레일?
- 24. 레일 다형성 has_many 연관
- 25. has_many 관계를 검색하는 레일
- 26. 레일 : has_many WITHOUT belongs_to
- 27. 레일 "foreign_key와 has_many"연관
- 28. 레일, 삭제 자녀 : has_many
- 29. 레일 3 has_many
- 30. 레일 has_many 연관의 has_one
이 3 개의 쿼리를 사용하려면 1 개의 쿼리 T.T를 원합니다. –
@ Toàn 그는 3 개의 쿼리를 사용하지만 모두 효율적입니다. 이 3 개의 리턴 된 값을 비교하여 'ruby' 코드에 의해 가장 새로운 것을 얻을 수 있습니다. 그러나 여전히 3 개의 로그 테이블에서 STI를 사용하지 않으면 효율적으로 실행되지 않습니다. – yeuem1vannam
나는 당신이 원하는 것을 맞추기 위해 답을 업데이트했다. 유스 케이스에 따라 @ yeuem1vannam과 같은 STI가 – bitsapien