Я пытаюсь использовать Symfony 2.6 / Doctrine 2 в Ubuntu 14.04 с php5.5.9 / mysql5.5. Но я получаю очень странную ошибку и не могу найти решение.
Я создаю очень простую сущность с doctrine:generate:entity
команда. Все просто отлично. Но когда я пытаюсь создать таблицу с doctrine:schema:update
Я получаю команду, чтобы исправить ошибку 🙂
[Doctrine\Common\Annotations\AnnotationException]
[Semantical Error] The annotation "@Doctrine\ORM\Mapping\I" in property AppBundle\Entity\Language::$id does not exist, or could not be auto-loaded.
Ну, на самом деле это правильно. Нет ничего такого @Doctrine\ORM\Mapping\I
,
Это все о @ORM\Id
, Когда я меняюсь @ORM\Id
, ошибка также меняется. Я изменяю это на @ORM\Hello
ошибка меняется как @Doctrine\ORM\Mapping\Hello
, Но когда я изменяю это на @ORM\Isthisreal
ошибка стоит как @Doctrine\ORM\Mapping\I
,
Я думаю, что есть ошибка синтаксического анализа чувствительности к регистру. Но не смог найти никакого решения. Я много чего перепробовал, но ничего не изменилось. Вот моя простая сущность:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Language
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="AppBundle\Entity\LanguageRepository")
*/
class Language
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var boolean
*
* @ORM\Column(name="is_active", type="boolean")
*/
private $isActive;
/**
* @var string
*
* @ORM\Column(name="iso", type="string", length=2)
*/
private $iso;
/**
* Get id
*
* @return integer
*/
public function getid()
{
return $this->id;
}
/**
* Set isActive
*
* @param boolean $isActive
* @return Language
*/
public function setisActive($isActive)
{
$this->isActive = $isActive;
return $this;
}
/**
* Get isActive
*
* @return boolean
*/
public function getisActive()
{
return $this->isActive;
}
/**
* Set iso
*
* @param string $iso
* @return Language
*/
public function setiso($iso)
{
$this->iso = $iso;
return $this;
}
/**
* Get iso
*
* @return string
*/
public function getiso()
{
return $this->iso;
}
}
Попробуйте запустить это раньше Доктрина: схема: обновление
export LC_ALL=C
Других решений пока нет …