2012-01-20 3 views
2

나는 symfony 1.4를 사용하고 있으며 propel에 상당히 새롭다. 나는 다른 개발자가 작성한 새로운 프로젝트의 기존 코드베이스를보고있다. 쉽게 설명하자면동료를 이해하도록 유도

는 상기 모델modelPeer 클래스 두 종류로 구분 된 모델을 갖는 목적은 무엇인가?

나는 비즈니스 유형 데이터를 얻고 다른 데이터 유형을 더 많이 대표한다고 가정하지만 두 클래스를 조사 할 때 어떤 유형의 구별도 보이지 않습니다.

어떤 도움에 감사드립니다 :)

답변

6

그냥 행 (모델) 테이블 (피어)로 생각한다. 간단하지만 몇 가지 초보자가 다음과 같이 설명하면 아이디어를 얻었습니다.

+0

감사합니다. 레거시 1.2 Symfony 프로젝트에 참여하면이 문제가 발생합니다. – morganwebdev

1

음, Peer 클래스를 잊어 버리는 것이 좋습니다. 내 조언은 그들을 사용하지 않는 것입니다 - 피어 클래스는 Propel2에서 제거됩니다.

그런 다음 ActiveRecord API (모델 클래스)와 ActiveQuery API를 다루기 만하면됩니다.

편집 : Peers가 처리하는 내용을 알고 https://github.com/propelorm/Propel2/issues/36을 읽습니다. 개발자는 이 아니며은이 부분에 코드를 넣어야합니다. AR과 AQ가 충분합니다.

+0

-1, 죄송합니다. OP가 Propel 1.x를 사용하고 있다면, Peer가 필수적입니다. Propel을 사용하거나 이해하지 않고이 일련의 Propel을 사용할 수 없습니다! 피어는 테이블/컬럼 이름을 저장하는 데 사용되며'doSelect '와 같은 테이블 전체 데이터베이스 작업을 정적으로 호출하는 데 사용됩니다. – halfer

+1

아니요, 피어는 ** ActiveQuery가 제공되어 ** 필수적이지 않습니다 **. 그리고 이러한 수업을 다룰 필요가 없습니다. 피어 클래스가 무엇인지 알고 내 프로필을 확인하십시오. –

+0

안녕하세요 윌리엄. 당신의 충고가 그들을 결코 사용하지 않는다고 말할 때, 당신은 * 그 안에 코드를 넣지 않는다는 것을 의미합니까 *? 내가 말할 수있는 한 Propel 1.x에서 * 피어를 사용하는 것을 피할 수는 없다. 예를 들어 MyPeer :: TABLE_NAME 또는 MyPeer :: COLUMN_NAME을 사용하지 않고 Query 클래스를 사용하여 열 또는 테이블 이름을 조회 할 수 있습니까? 피어 ('MyPeer :: getTableMap()')를 사용하지 않고 테이블에 대한 관련 TableMap을 얻을 수 있습니까? 동료를 피하기 위해 현재 코딩을 조정하는 것이 좋을지도 모르겠으므로 부분적으로 묻습니다. 그러나 저는 현재 일부 인스턴스가 필연적이라는 견해를 가지고 있습니다. – halfer

관련 문제