Уведомление DoctrineExtensions: неопределенный индекс: foreignKey в $ em-> gt; getRepository (‘Gedmo \\ Transurable \\ Entity \\ Translation’);

Я пытаюсь сохранить несколько переводов, как в этом пример, но у меня есть ошибка.

вот сущность

/**
* @ORM\Entity
* @Gedmo\TranslationEntity(class="BaseTranslation")
* @ORM\Table(name="c_Base")
*/
class Base {

/**
* @ORM\Column(type="bigint")
* @ORM\Id
*/
private $id;

/**
* Hexaid
* @var string
*/
private $hid;

/**
* @ORM\Column(type="string")
* @GRID\Column(title="name")
* @Gedmo\Translatable
* @var string
*/
private $name;

/**
* @ORM\Column(type="text", nullable=true)
* @Gedmo\Translatable
* @var string
*/
private $description;

/**
* GRID\Column(title="translations",field="translations.content")
* @ORM\OneToMany(
*     targetEntity="BaseTranslation",
*  mappedBy="object",
*  cascade={"persist", "remove"}
* )
* @Assert\Valid(deep = true)
*/
private $translations;

переводчик

/**
* Entity\Translation\ProductTranslation.php

* @ORM\Entity
* @ORM\Table(name="c_base_translations",
*   uniqueConstraints={@ORM\UniqueConstraint(name="lookup_unique_idx", columns={
*     "locale", "object_id", "field"*   })}
* )
*/
class BaseTranslation extends AbstractPersonalTranslation{
/**
* @ORM\ManyToOne(targetEntity="Base", inversedBy="translations")
* @ORM\JoinColumn(name="object_id", referencedColumnName="id", onDelete="CASCADE")
*/
protected $object;

public function __construct($locale, $field, $value)
{
$this->setLocale($locale);
$this->setField($field);
$this->setContent($value);
}

}

я пытаюсь использовать несколько переводов

  $em = $this->getDoctrine()->getManager();
$repository = $em->getRepository('Gedmo\\Translatable\\Entity\\Translation');

$article = new Base();

$article->setName('content en');

$repository->translate($article, 'name', 'de', 'name de')
->translate($article, 'name', 'pl', 'name pl')

;

$em->persist($article);
$em->flush();

и получить

Примечание: неопределенный индекс: foreignKey

[1] Symfony\Component\Debug\Exception\ContextErrorException: Notice: Undefined index: foreignKey
at n/a
in /home/grek/PhpstormProjects/welasy/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php line 655

at Symfony\Component\Debug\ErrorHandler->handleError('8', 'Undefined index: foreignKey', '/home/grek/PhpstormProjects/welasy/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php', '655', array('name' => 'foreignKey'))
in /home/grek/PhpstormProjects/welasy/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php line 655

at Doctrine\ORM\Mapping\ClassMetadataInfo->getReflectionProperty('foreignKey')
in /home/grek/PhpstormProjects/welasy/vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity/Repository/TranslationRepository.php line 80

at Gedmo\Translatable\Entity\Repository\TranslationRepository->translate(object(Base), 'name', 'de', 'name de')
in /home/grek/PhpstormProjects/welasy/vendor/Mea/CharterBundle/Controller/ResourcesController.php line 171

at Mea\CharterBundle\Controller\ResourcesController->oneViewByHidAction('9888fff563a6a42', '2015;20')
in  line

at call_user_func_array(array(object(ResourcesController), 'oneViewByHidAction'), array('9888fff563a6a42', '2015;20'))
in /home/grek/PhpstormProjects/welasy/app/bootstrap.php.cache line 3028

at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), '1')
in /home/grek/PhpstormProjects/welasy/app/bootstrap.php.cache line 2990

at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), '1', true)
in /home/grek/PhpstormProjects/welasy/app/bootstrap.php.cache line 3139

at Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(object(Request), '1', true)
in /home/grek/PhpstormProjects/welasy/app/bootstrap.php.cache line 2383

at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
in /home/grek/PhpstormProjects/welasy/web/app_dev.php line 28

0

Решение

добавить «@ORM \ GeneratedValue» в базу

    /**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
private $id;
0

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

Других решений пока нет …

По вопросам рекламы [email protected]