2015-01-10 3 views

답변

1

이 반 패턴을 사용할 수있는 방법이 많기 때문에 다형성 연결이 일반적으로 잘못 이해됩니다.

그렇다면 내가 제대로 해낸다면 모델이나 다른 모델을 참조할만한 가치가있는 모델을 원한다. 내가 전에 말했듯이

이론적으로, 음 ... Phalcon 하나 이것을 달성하기 위해 여러 가지 방법을

이되는 것이 가능하다고 말하고, 그래서 그것을 밖으로 시도하고 당신이 성공하면 말해 주시기 것을 내가 할 수있는 지금은 다음과 같습니다 :

MainModel에는 물론 두 개의 열 (예 : 'assoc_id', 'assoc_type')이 있어야합니다. 그런 다음 팔콘에서 AssocModel이라는 특수한 모델에 대한 관계를 설정합니다.

AssocModel에는 실제 테이블이 없지만 getSource 메서드가 재정의되고 'assoc_type'을 기반으로 해당 테이블 이름이 반환됩니다.

이러한 연관 모델이 공통 세트 열을 공유하는 경우 인터페이스 IAssociable 또는 무언가를 만들 수 있으므로 연관 모델의 정의를 일관되게 유지할 수 있습니다.

그러나 실제로 그런 종류의 연관에서 일부 독점 데이터를 가져 오기 위해 실제 모델이 필요한 경우 불행히도 두 번째 모델 인스턴스는 나머지 열/속성을 가져와야합니다. 이를 위해 getSource이 올바른 테이블 이름을 반환하는 것처럼 올바른 모델 클래스를 해당 ID로 인스턴스화하는 다른 메서드를 만들 수 있습니다. 이 도움이 많이 있지만, 나와 함께 여기에 대한 진행 상황을 공유하는 경우

확실하지 그래서 우리는

1

당신은이 일을 내 라이브러리를 사용할 수 있습니다 ...이에 더 갈 수 있습니다. 그러나 조심하십시오. 이 라이브러리는 개발 중이며 실제 프로젝트에서 테스트하자 마자 안정 버전이 출시 될 것입니다 : https://github.com/IVIR3zaM/PhalconModelMiddleware