Probé en columna subject la la traducción.
Código PHP:
namespace LmsPostBundleEntity;
use DoctrineORMMapping as ORM;
use SymfonyComponentValidatorConstraints as Assert;
use DoctrineCommonCollectionsArrayCollection;
use SymfonyComponentValidatorMappingClassMetadata;
use SymfonyComponentValidatorConstraintsNotBlank;
use GedmoTranslatableTranslatable;
use GedmoMappingAnnotation as Gedmo;
/**
* Lms\PostBundle\Entity
*
* @ORM\Table(name="post")
* @ORM\Entity(repositoryClass="Lms\PostBundle\Entity\PostRepository")
*/
class Post implements Translatable
{
/**
*
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
*
* @ORM\Column(type="string")
* @Gedmo\Translatable
*/
protected $subject;
/**
*
* @ORM\ManyToOne(targetEntity="PostCategory", inversedBy="post", cascade={"remove"})
*/
protected $postcategory;
/**
* @gedmo:Locale
* Used locale to override Translation listener`s locale
* this is not a mapped field of entity metadata, just a simple property
*/
private $locale;
public function setTranslatableLocale($locale)
{
$this->locale = $locale;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set subject
*
* @param string $subject
*/
public function setSubject($subject)
{
$this->subject = $subject;
}
/**
* Get subject
*
* @return string
*/
public function getSubject()
{
return $this->subject;
}
/**
* Set postcategory
*
* @param Lms\PostBundle\Entity\PostCategory $postcategory
*/
public function setPostcategory(LmsPostBundleEntityPostCategory $postcategory)
{
$this->postcategory = $postcategory;
}
/**
* Get postcategory
*
* @return Lms\PostBundle\Entity\PostCategory
*/
public function getPostcategory()
{
return $this->postcategory;
}
}
Pero me sale un alerta
Table 'BaseDeDatos.ext_translations' doesn't exist
Entonces cree esa tabla y las columnas que poco a poco me salía de alerta de errores, hasta que... inserto! claro por que ya había creado la tabla y las columnas
ejemplo:
Código PHP:
$post = new Post();
$post->setSubject('Post Nuevo !');
$post->setPostcategory($em->getReference('PostBundle:PostCategory', 4));
$em->persist($post);
$em->flush();
echo $post->getId(
Note que me se inserto en la tabla de traducciones con la localidad por defecto que le dí en el config en_es
Pero si quiero insertar otra localidad, ejemplo.
Código PHP:
$post->setTranslatableLocale('es_us');
Por lo que sé hay una manera en que el Translatable te cree la tabla automática por lo que leí...
Se que hay una mejor manera inclusive para crear una tabla diferente por cada entidad.... para tener un orden... alguien sabe algo al respecto, es que encuentro poca documentación de esta extensión...
estoy trabajando en Symfony2
Saludos.