Php 翻译文件的访问级别-Symfony2

Php 翻译文件的访问级别-Symfony2,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我生成了一个新实体 php app/console generate:doctrine:entity 当我想更新我的数据库时 php应用程序/控制台原则:模式:更新-转储sql 我有这个错误 HP Fatal error: Access level to Minn\AdsBundle\Entity\CountryTranslation::$id must be protected (as in class .. 我认为,翻译包的关键在于: /NetBeansProjects/tuto/sr

我生成了一个新实体

php app/console generate:doctrine:entity
当我想更新我的数据库时

php应用程序/控制台原则:模式:更新-转储sql

我有这个错误

HP Fatal error:  Access level to Minn\AdsBundle\Entity\CountryTranslation::$id must be protected (as in class ..
我认为,翻译包的关键在于:

/NetBeansProjects/tuto/src/Minn/AdsBundle/Entity/CountryTranslation.php

朋友们,有什么想法吗

我的实体国家翻译:


}这是如何定义CountryTranslation的:

<?php

namespace Minn\AdsBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Translatable\Entity\MappedSuperclass\AbstractPersonalTranslation;

/**
 * @ORM\Entity
 * @ORM\Table(
 *     uniqueConstraints={@ORM\UniqueConstraint(name="lookup_unique_idx", columns={
 *         "locale", "object_id", "field"
 *     })}
 * )
 */
class CountryTranslation extends AbstractPersonalTranslation {

    /*
     * Convenient constructor
     *
     * @param string $locale
     * @param string $field
     * @param string $value
     */
    /*public function __construct($locale, $field, $value) {
        $this->setLocale($locale);
        $this->setField($field);
        $this->setContent($value);
    }*/
    public function __construct() {
        /*this must be an empty one!*/
    }

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

}

请提供实体CountryTranslation的定义。如果您查看创建的实体,能否告诉我们$id的类型?此实体已由php应用程序/控制台generate:doctrine:entity修改。我已经经历过这种问题了!您将在我的答案中找到正确的实体定义!
<?php

namespace Minn\AdsBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Translatable\Entity\MappedSuperclass\AbstractPersonalTranslation;

/**
 * @ORM\Entity
 * @ORM\Table(
 *     uniqueConstraints={@ORM\UniqueConstraint(name="lookup_unique_idx", columns={
 *         "locale", "object_id", "field"
 *     })}
 * )
 */
class CountryTranslation extends AbstractPersonalTranslation {

    /*
     * Convenient constructor
     *
     * @param string $locale
     * @param string $field
     * @param string $value
     */
    /*public function __construct($locale, $field, $value) {
        $this->setLocale($locale);
        $this->setField($field);
        $this->setContent($value);
    }*/
    public function __construct() {
        /*this must be an empty one!*/
    }

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

}