엔티티에서 종속/부모 개체를 검색하는 방법은 무엇입니까?도메인 엔티티 메서드 내에서 종속/부모 검색
$person->getAddress();
이렇게하면 해당 사람의 주소 개체가 데이터베이스에서 검색되어 개체로 반환됩니다. 이 작업을 수행하는 좋은 방법이며 코드가 어떻게 보이는지 확인하는 것이 좋습니다.
이렇게하면 개체 자체가 주소가 관련된 개체/값 개체라는 것을 알아야합니다. 프리젠 테이션 레이어에서 깨끗하게 보이기 때문에 이런 종류의 구문을 사용하고 싶습니다.
사람 클래스는 다음과 같이 보일 것이다 :
class Person {
protected $_domain = null; // domain is assigned when instantiated
protected $_data = array('name', 'address');
protected $_relations = array(
'address'=>array(
'class'=>'Address'
)
);
protected $_retrievedRelations = array();
public function getAddress() {
if (array_key_exists('address', $this->_relations)) {
if (!array_key_exists('address', $this->_retrievedRelations)) {
$this->_retrievedRelations['address'] = $this->_domain->getAddress($this->_data['address']);
}
return $this->_retrievedRelations['address'];
}
return $this->_data['address'];
}
}
따라서는 getAddress에 방법 안에 $ 도메인 객체를 사용하고 Person 클래스에 관련 정보를 계속 확인입니까?
나는 답을 찾아 다녔기 때문에 대답 해주십시오.
이반의 대답을 자세히 살펴 봐야한다고 생각합니다. Zend_Db_Table의 관계 부분은 당신이하는 일을 정확히 수행합니다. '$ person-> findAddress()'를 호출하면 다른 클래스 (문서 당)와 관계를 맺을 수 있고 (refrence 규칙의 이름이 "Address"라고 가정) 전화를 걸면 정의 된 규칙과 관련된 키를 주소 도메인에 보낸다. find' 메서드를 호출하고 유효한 행 집합을 반환합니다. Zend_Db_Table을 사용하는 데 이미 익숙하다면, 찾고있는 것과 똑같은 것 같습니다. –
네, 그렇지만 열심히로드하고 있습니까? 또한 테이블 클래스를 만들고 비즈니스 논리를 저장하는 Row 클래스를 만들어야합니다. – andho