BlogPost의 슬러그를 여러 언어로 번역하려고합니다. KnpLabs/DoctrineBehaviors를 사용하여 작업에 도움을 주기로했습니다. 번들을 설치하고 분만 작업을 할 수있게되었습니다. 그러나 번역 가능한 동작을 추가하면 스키마를 업데이트 할 수 없습니다.번역 동작이 Enti 폴더를 찾고 있습니다.
내 데이터베이스 스키마를 업데이트하려고하면 다음과 같은 오류가 발생합니다. --force는 그림에 없지만 같은 결과를 나타냅니다.
여기에 내 블로그 게시물 기업의 :namespace MyProject\MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Knp\DoctrineBehaviors\Model as ORMBehaviors;
/**
* @ORM\Entity
*/
class BlogPost
{
use ORMBehaviors\Sluggable\Sluggable,
ORMBehaviors\Translatable\Translation;
/**
* @ORM\Column(type="string")
*/
protected $title;
public function setTitle($title)
{
$this->title = $title;
return $this;
}
public function getSluggableFields()
{
return [ 'title' ];
}
}
그리고 여기 내 BlogPostTranslation 엔티티의 :
namespace MyProject\MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Knp\DoctrineBehaviors\Model as ORMBehaviors;
use ORMBehaviors\Translatable\Translation;
/**
* @ORM\Entity
*/
class BlogPostTranslation
{
use ORMBehaviors\Translatable\Translation;
/**
* @ORM\Column(type="string", length=255)
*/
protected $name;
/**
* @ORM\Column(type="string")
*/
protected $title;
public function setTitle($title)
{
$this->title = $title;
}
public function getTitle()
{
return $this->title;
}
}
나는 교리와 "TargetEntity"일부 디버깅 정말 찾고 있습니다 않았다 폴더 "Enti". 번역 할 수있는 동작을 추가하는 경우에만 발생합니다. 내가 제거하면 아무 문제없이 슬러그 가능한 동작을 업데이트하고 사용할 수 있습니다.
Yup! 나는 그것을 알아내는 것을 끝내었다. 그러나 나는 그것이 미래에 누군가에게 유용 할 것이라고 확신한다. 번들이 완전히 멋지기 때문에 조금 더 문서화 된 것은 부끄러운 일입니다! –