Форма A2lix не работает с поведением доктрины KNP

Я использую форму перевода A2lix среди поведения KNP Doctrine.

Поля отображаются правильно в форме, и они также отправляются правильно (я проверял в отладке), но они не сохраняются в базе данных.

Вот мой код:

Тип формы

/**
* Buildform function
*
* @param FormBuilderInterface $builder the formBuilder
* @param array                $options the options for this form
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('code', 'text', [
'required' => true,
])
->add('translations', 'a2lix_translations');
}

Аксессор

<?php

namespace SocialCar\CoreBundle\Entity;

use Knp\DoctrineBehaviors\Model as ORMBehaviors;

class Accessory
{
use ORMBehaviors\Translatable\Translatable;

/**
* @var integer
*/
private $id;

/**
* @var string
*/
private $code;


/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}

/**
* Set code
*
* @param string $code
* @return Accessory
*/
public function setCode($code)
{
$this->code = $code;

return $this;
}

/**
* Get code
*
* @return string
*/
public function getCode()
{
return $this->code;
}
}

Дополнительный перевод

<?php

namespace SocialCar\CoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Knp\DoctrineBehaviors\Model as ORMBehaviors;

/**
* AccessoryTranslation
*/
class AccessoryTranslation
{
use ORMBehaviors\Translatable\Translation;

/**
* @var string
*/
private $name;


/**
* Set name
*
* @param string $name
* @return AccessoryTranslation
*/
public function setName($name)
{
$this->name = $name;

return $this;
}

/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
}

Есть идеи?

0

Решение

Вам необходимо определить связь между вашей сущностью и сущностью перевода:

Вспомогательное оборудование:

/**
* @ORM\OneToMany(targetEntity="AccessoryTranslation", mappedBy="accessory", cascade={"persist", "remove"})
*/
protected $translations;

Дополнительный перевод:

/**
* @ORM\ManyToOne(targetEntity="Accessory", inversedBy="translations")
* @ORM\JoinColumn(name="accessory_id", referencedColumnName="id", onDelete="CASCADE")
*/
protected $object;
0

Другие решения

Вы активировали переводимое поведение knp в своем файле config.yml?

knp_doctrine_behaviors:
blameable:      ~
geocodable:     ~
loggable:       ~
sluggable:      ~
soft_deletable: ~
translatable:   true
0