Php DoctrineExtensions注意:未定义索引:foreignKey in$em->getRepository('Gedmo\\translateable\\Entity\\Translation');

Php DoctrineExtensions注意:未定义索引:foreignKey in$em->getRepository('Gedmo\\translateable\\Entity\\Translation');,php,symfony,doctrine-orm,doctrine-extensions,Php,Symfony,Doctrine Orm,Doctrine Extensions,我试图像这样保存多个翻译,但我有一个错误 这是实体 /** * @ORM\Entity * @Gedmo\TranslationEntity(class="BaseTranslation") * @ORM\Table(name="c_Base") */ class Base { /** * @ORM\Column(type="bigint") * @ORM\Id */ private $id; /** * Hexaid

我试图像这样保存多个翻译,但我有一个错误

这是实体

/**
 * @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

将@ORM\GeneratedValue添加到基

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

是的,这是一个小错误,但这不是原因。我得到一部分代码来显示问题-基数没有自动递增,所以我添加了id。我在momentI中更新代码,我只能猜测问题与表的外键有关,你能探索表的sql并检查表的关系是否有外键吗?我在本例中创建了关于版本配置的新主题我有旧版本-请在此示例中使用-没有外键我不知道你是如何修复的,兄弟我也有同样的问题;[代码与示例相同]