2013-02-20 2 views
2

아래에 나열된 조회 테이블이 거의 없습니다. 내 이해에 따라 각 데이터베이스 테이블에 대한 모델이 필요하지만 이는 조회/매핑 테이블에도 적용됩니까? 모델을 만드는 동안 가장 좋은 방법은 무엇입니까? 다음은 나뿐만 아니라 Transaction_Lookup에 해당하는 모델을 생성해야합니까 ... 내가 거래 및 고객 테이블에 해당하는 모델을 만든젠드 프레임 워크에서 룩업 테이블을위한 모델을 생성해야합니까?

Transaction  Customer  Transaction_Lookup  
id    Id   transection_id 
date   name   customer_id 
active   active 

내 룩업 테이블의 샘플입니다? 나는 또한 각 모델의 매퍼 클래스를 만들 필요가 의미 데이터 매퍼 패턴을 사용하고 또한

... 사전에 도움을

감사합니다 ....

답변

1

한 발언 나는 것 make는 모델을 테이블과 일대일 대응으로 생각하지 않는 것입니다. 그것은 당신의 OOP 디자인에서 매우 제한적일 수 있습니다. 그것은 종종 모델이 단일 테이블에 정렬되는 것이 사실이라고 말했습니다. 룩업 테이블은 이것이 사실 인 명백한 시나리오입니다.

각 조회 테이블에 대한 구체적인 모델을 필요로 ... 나는 '조회'테이블에 해당하는 모든 개체에 사용할 수있는 일반 모델을 작성하는 것이 좋습니다. 그런 다음 해당 제네릭 클래스를 사용하거나 추상으로 작성하고 확장하여 명명 된 구체적인 클래스를 만들 수 있습니다. 여기에 필요한 고유 한 코드의 양은 부모 클래스에서 이미 가지고있는 것을 활용하여 매우 제한 될 수 있습니다. 조회 요약 표를 원한다면 키 (id), , ,, 등의 필드를 추상화 할 수 있습니까? 및 해당 일반 필드에 테이블의 해당 필드를 매핑하십시오. 그것에 대해 갈 수있는 많은 방법이 있는데, 나는 그것을 잘 설명해 주었으면 좋겠다.

필자는 일반적으로 Zend_Db_Table과 같은 테이블 행 게이트웨이와 더 많은 커스텀 인 두 가지 스타일의 매퍼를 작성합니다. 여기서는 아마도 저장 프로 시저 또는 복잡한 Zend_Db_selects를 사용하여 여러 테이블을 조인 할 수 있습니다. 테이블 행 게이트웨이 스타일 매퍼를 사용하여 나는 매퍼가 작업 할 수 있도록 테이블 이름, 어댑터 및 매핑 된 개체를 지정하기 만하면됩니다. 커스텀 매퍼 (custom mappers)에서는 대개의 경우 구현 코드를 처음부터 다시 작성해야합니다.

나는 Data Mapper을 사용하는이 접근 방식을 좋아합니다. 편리하고 강력 할 수 있습니다.

+0

감사 ...이 말이 맞습니다 ... –

+0

차가워졌습니다. 나는 이것이 ZF와 관련된 몇 가지 주제에 유용한 링크임을 알게되었습니다. http://survivethedeepend.com/zendframeworkbook/en/1.0 – ficuscr

+0

고마워 할 것입니다 ... 감사합니다 ... –

관련 문제