Gedmo Translatable Extension을 Doctrine 2.2/Zend에 통합하려고했지만 성공하지 못했으며 도움이 필요했습니다. 항상 치명적인 오류가 발생합니다 :Gedmo Doctrine 2.2/Zend의 번역 가능 통합
Uncaught exception 'Doctrine\ORM\Mapping\MappingException' with message 'Class AliasStaticPage is not a valid entity or mapped super class.' in[...]library/Doctrine/ORM/Mapping/MappingException.php:147
APC가 실행 중이고 Doctrine 2.2가 (이전에) 잘 작동했습니다.
이
은 ( Best practices for setting up with annotations 유사) 내 부트 스트랩입니다 :<?php
use Doctrine\ORM\Mapping\Id;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="alias")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorMap({"aliasProject" = "AliasProject",
* "aliasStaticPage" = "AliasStaticPage"})
*/
abstract class Alias
{
/**
* @Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
[...]
}
그리고 결합 된 클래스 :
<?php
use Doctrine\ORM\Mapping\Id;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="aliasStaticPage")
*/
class AliasStaticPage extends Alias
{
/**
* @ManyToOne(targetEntity="StaticPage")
* @JoinColumns({@JoinColumn(name="staticPage_id", referencedColumnName="id")})
*/
private $staticPage;
[...]
}
I
$cache = new \Doctrine\Common\Cache\ApcCache();
$config->setQueryCacheImpl($cache);
$config->setResultCacheImpl($cache);
$config->setMetadataCacheImpl($cache);
$config->setProxyNamespace('App\Proxies');
$annotationReader = new Doctrine\Common\Annotations\AnnotationReader();
Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace(
'Gedmo\Mapping\Annotation',
'../library/DoctrineExtensions/Gedmo'
);
Doctrine\Common\Annotations\AnnotationRegistry::registerFile(
'../library/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'
);
$chainDriverImpl = new \Doctrine\ORM\Mapping\Driver\DriverChain();
$annotationDriver = new Doctrine\ORM\Mapping\Driver\AnnotationDriver($annotationReader,
array(
APPLICATION_PATH . '/models',
'../library/DoctrineExtensions/Gedmo/Translatable/Entity'
));
$chainDriverImpl->addDriver($annotationDriver, 'Entity');
$chainDriverImpl->addDriver($annotationDriver, 'Gedmo\Translatable\Entity');
$config->setMetaDataDriverImpl($chainDriverImpl);
여기에 클래스 정의의 일부입니다 성공하지 않고 doctrine-project.org에서이 접근법을 시도했습니다 ...
아이디어에 감사드립니다. .. 왜 모르는이 방법은 같은 객체의 해시에 93에서 \ 교리 \ ORM \ 매핑 \ 드라이버 \의 DriverChain 내 이끄는 AnnotationDriver을 구현
하지만, 그것은 단지 루프 : 그래서 여기
해결할 수 있지만 4 시간 전까지는 내 솔루션에 응답 할 수 없습니다. – theColaKid