인보이스 발행 앱을 만들고 있습니다. 명백한 모델은 date, client_id, user_id 등이있는 인보이스입니다. 그러나 인보이스에는 전체 송장 금액을 합한 하나 이상의 항목이있을 수 있습니다. 각 광고 항목에는 설명, 요율 및 수량이 있습니다. 다른 모델 "LineItem"을 만드는 것이 합리적입니까, 아니면 인보이스 모델 내에 모든 것을 유지하는 더 쉬운 방법이 있습니까? 감사!송장 모델을 어떻게 구현해야합니까?
0
A
답변
0
InvoiceItem 모델을 확실히 구현할 것입니다. Items는 프로그램의 객체 유형이므로 조작 할 수 있으므로 다른 테이블로 구분하는 것이 좋습니다.
class Invoice << ActiveRecord::Base
has_many :invoice_items
end
class InvoiceItem << ActiveRecord::Base
belongs_to :invoice
end
은 그럼 그냥 확인 InvoiceItem 당신이 아이디어를 가지고 같은
1
데이터베이스 테이블을 표준화하려면 말한대로 두 개의 다른 테이블이 있어야합니다. 그렇지 않으면 관계형 데이터베이스의 정규화 규칙에 맞지 않습니다. 정보 http://en.wikipedia.org/wiki/Database_normalization을 확인할 수 있습니다.
두 테이블 인 Invoice와 LineItem을 사용하십시오. 그리고 Invoice 테이블 Id를 참조하는 외래 키를 LineItem 테이블에 넣어야합니다.
관련 문제
- 1. 어떻게 구현해야합니까?
- 2. OpenRasta로 NHibernate를 어떻게 구현해야합니까?
- 3. 어떻게 구현해야합니까? 위임
- 4. 수은의 버전을 어떻게 구현해야합니까?
- 5. 스크롤링은 어떻게 구현해야합니까?
- 6. 어떻게 JCheckBox를 다시 구현해야합니까?
- 7. 복잡한 비즈니스 로직을 어떻게 구현해야합니까?
- 8. 이 크레딧 시스템을 어떻게 구현해야합니까?
- 9. 비즈니스 로직 레이어를 어떻게 구현해야합니까?
- 10. 이 jquery 플러그인을 어떻게 구현해야합니까?
- 11. Haskell에서 Cayley Table을 어떻게 구현해야합니까?
- 12. iPad에서 맞춤 격자를 어떻게 구현해야합니까?
- 13. 동적 빌더 목록을 어떻게 구현해야합니까?
- 14. Hibernate/Spring에서 이것을 어떻게 구현해야합니까?
- 15. AndEngine의 ITouchArea.convertSceneToLocalCoordinates()는 어떻게 구현해야합니까?
- 16. 이 specflow 단계는 어떻게 구현해야합니까?
- 17. C++ MVC 모델 - 어떻게 구현해야합니까?
- 18. 엠버 - 모델 EmbeddedHasManyArray 내가 간단한 송장 앱 엠버 모델을 사용하고
- 19. 레일 고유성 3 검증 - 다음 송장 모델을 감안할 때 논리
- 20. 어떻게 확장 데이터 모델을 구축합니까
- 21. 송장 생성
- 22. 송장 이메일
- 23. onRetainNonConfigurationInstance를 구현해야합니까?
- 24. 중복 송장 번호 방지. 특정 ID에 대해
- 25. ASP.NET MVC에서 "비밀번호 찾기"를 어떻게 구현해야합니까?
- 26. C++에서 스레드 풀을 어떻게 구현해야합니까?
- 27. (My) SQL에 일대일 관계를 어떻게 구현해야합니까?
- 28. Django 응용 프로그램에서 reverse AJAX를 어떻게 구현해야합니까?
- 29. C++에서 유틸리티/도우미 모듈을 어떻게 구현해야합니까?
- 30. AngularJs에서 연도 범위 입력을 어떻게 구현해야합니까?
이 소리는 "invoice_id"필드가합니다. 그것을 밖으로 시도하십시오. – spullen