2013-02-06 3 views
1

'table_item, table_category, table_items_status 등의 테이블이 여러 개 있다고 가정 해 보겠습니다. 서비스에 의해 자신의 엔티티를 사용하는 단일 모드 (관계 없음)로 업데이트됩니다.Symfony2, Doctrine, 빈 연관 엔티티

내가, 어떻게, 내가 원하는 단순히

$entity->setItemID(123); 
$result = $entity->getTableItemIDByItemID(); 
전화

PHP 코드에서
** 
* @ORM\OneToOne(targetEntity="table_item") 
* @ORM\JoinColumn(name="itemID", referencedColumnName="itemID") 
** 
private $tableItemIDByItemID 
// ... getter\setter 

** 
* @ORM\Column(type="integer") 
** 
private $itemID; 
// ... getter\setter 

같은 예를 들어 뭔가이 테이블의 relatioship을해야합니다 하나의 엔티티를 .... 만들 수

그리고 itemID에 의해 table_item에서 ArrayCollection()을 가져올 것입니다.

내가 원하는 주요 항목은 여러 테이블에 대한 관계가있는 단 하나의 단방향 인 추가 엔터티를 만드는 것입니다. 나는 관계를 위해 다른 것을 건드리지 않고 엔티티를 생성하기 위해 이것을 필요로한다.

+0

뭔가? http://stackoverflow.com/questions/12597786/symfony-1-4-doctrine-many-to-many-relationship-with-extra-field-in-intermediat –

+0

아니요, 형식이 전혀 없습니다. 새 엔티티가 필요합니다. 그것은 데이터베이스에 기존 테이블이 없지만 다른 테이블과 관계가 있으므로 "생성자"라는 이름을 붙일 수 있습니다 ... $ this-> setItemID()를 호출 한 다음 관계 메소드 $ this-> getItemIDByItemID()를 호출합니다. setted itemID에 의해 arraycollection을 얻을 것이다. – user1954544

답변

0

엔티티 리포지토리를 조사해야합니다. 이들은 몇 가지 기본 기능 쿼리를 제공하지만 사용자 정의 쿼리로이를 확장 할 수 있습니다 (예 : getItemIDByItemID). 저장소 패턴이라고합니다. 엔티티는 데이터베이스의 오브젝트 표현 일뿐입니다.

Symfony2 설명서 :

는 "그것은 당신의 엔티티에 대한 사용자 정의 저장소 클래스를 생성하고이 쿼리 로직과 메소드를 추가하는 것이 좋습니다."

저장소에 대한 몇 가지 추가 정보 :이 같은

http://symfony.com/doc/current/book/doctrine.html#custom-repository-classes http://www.zalas.eu/doctrine2-and-symfony2

관련 문제