나는 SINGLE_TABLE
상속을 구현하는 2 개의 하위 엔터티 (Foo
및 Bar
)가있는 Parent
엔터티를 가지고 있습니다.Doctrine2에서 식별자를 동적으로 설정하기
new Parent()
엔티티를 만들고 foo
을 동적으로 설정하면 new Foo()
이 생성되지 않습니까?
나는 SINGLE_TABLE
상속을 구현하는 2 개의 하위 엔터티 (Foo
및 Bar
)가있는 Parent
엔터티를 가지고 있습니다.Doctrine2에서 식별자를 동적으로 설정하기
new Parent()
엔티티를 만들고 foo
을 동적으로 설정하면 new Foo()
이 생성되지 않습니까?
아니, 당신은 정말 당신의 코멘트에서 언급 한 시나리오를 필요로하는 경우에, 당신은 아마 팩토리 메소드의 어떤 종류의 더 나은 것,이되지 않습니다 :
abstract class MyParent
{
public static function fromString($type)
{
switch ($type) {
case 'foo':
return new Foo();
case 'bar':
return new Bar();
}
throw new DomainException('Unknown type: ' . $type);
}
}
는 아니, 적어도 불가능 못생긴 해킹없이. 왜 그걸하고 싶니? – Benjamin
나는 discriminator를 나타내는 문자열을 얻는 시나리오를 가지고 있으며 그 유형의 엔티티를 만들어야합니다. 그 방법을 만들었습니다. 더 좋은 방법이 있는지 알고 싶었습니다 .. – tamir