2012-09-04 3 views
2

아래 엔 정의를 볼 수있는 유형 및 자산이 2 개 있습니다. (: 고양이-158 또는 개-15 등)Doctrine2 결합/결합 된 엔티티 특성

난 그냥했습니다 내가 Type->nameAsset->id의 연결 인 자산 이름을 생성 할 필요가 내 웹 응용 프로그램에 자산의 목록을 표시하기 위해

형식 이름을 반입하고 자산 ID와 조인하는 자산 실체에 getName() 메소드를 추가했습니다. 애셋을 가져올 때 조인 문을 사용하여 이름이 만들어 지도록 주석으로이 작업을 수행하는 방법이 있습니까? 기본적으로 getName()에 전화 할 때 유형을 가져 오지 않고 자산을 가져올 때 적절한 이름/id 조합으로 채워지는 자산 실체의 속성?

<?php 
class Asset 
{ 
    /** 
    * @ORM\Id 
    * @ORM\GeneratedValue("IDENTITY") 
    * @ORM\Column(type="integer") 
    * @var integer 
    */ 
    private $id; 

    /** 
    * @ORM\ManyToOne(targetEntity="\Type") 
    * @var \Type 
    */ 
    private $type; 

    /** 
    * Constructs a name from the type and id 
    * @return string 
    */ 
    public function getName() 
    { 
     return $this->getType()->getName() . '-' . $this->getId(); 
    } 

    // SNIP ... 
} 

class Type 
{ 
    /** 
    * @ORM\Id 
    * @ORM\GeneratedValue("IDENTITY") 
    * @ORM\Column(type="integer") 
    * @var integer 
    */ 
    private $id; 

    /** 
    * @ORM\Column(type="string", length=200, unique=true, nullable=false) 
    * @var string 
    */ 
    private $name; 

    // SNIP ... 
} 

답변

-2

시험해주세요.

클래스 자산은 {

}

+0

진심으로 유형을 확장? 의미 적으로나 프로그램 적으로도 의미가 없습니다. 자산은 유형이 아니며 엔티티가 서로 확장해야합니다. – ChrisR