Php 类不是有效的实体或映射的超类
有一个slim+条令项目,实体创建如下:Php 类不是有效的实体或映射的超类,php,orm,doctrine,mapping,slim,Php,Orm,Doctrine,Mapping,Slim,有一个slim+条令项目,实体创建如下: Сыыцццццццццццццаааааa
vendor/bin/orm:generate entities src/
,并创建以下类:
namespace App\Domain;
/**
* Test
*/
class Test
{
/**
* @var int
*/
private $id;
/**
* @var string
*/
private $firstColumn;
/**
* @var \DateTime
*/
private $secondColumn;
/**
* @var int|null
*/
private $thirdColumn;
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set firstColumn.
*
* @param string $firstColumn
*
* @return Test
*/
public function setFirstColumn($firstColumn)
{
$this->firstColumn = $firstColumn;
return $this;
}
/**
* Get firstColumn.
*
* @return string
*/
public function getFirstColumn()
{
return $this->firstColumn;
}
/**
* Set secondColumn.
*
* @param \DateTime $secondColumn
*
* @return Test
*/
public function setSecondColumn($secondColumn)
{
$this->secondColumn = $secondColumn;
return $this;
}
/**
* Get secondColumn.
*
* @return \DateTime
*/
public function getSecondColumn()
{
return $this->secondColumn;
}
/**
* Set thirdColumn.
*
* @param int|null $thirdColumn
*
* @return Test
*/
public function setThirdColumn($thirdColumn = null)
{
$this->thirdColumn = $thirdColumn;
return $this;
}
/**
* Get thirdColumn.
*
* @return int|null
*/
public function getThirdColumn()
{
return $this->thirdColumn;
}
}
问题是,当您继续使用它时,会出现一个错误:Class-App\Domain\Test不是有效的实体或映射的超级类
只有将最后一个类设置为以下形式时,错误才会消失:
namespace App\Domain;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="test")
*/
class Test
{
/**
* @ORM\Id()
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
* @var integer
*/
private $id;
/**
* @var string
*/
private $firstColumn;
...
}
为什么条令只接受这样一个类,并咒骂前一个类,即使它是通过条令编程创建的
namespace App\Domain;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="test")
*/
class Test
{
/**
* @ORM\Id()
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
* @var integer
*/
private $id;
/**
* @var string
*/
private $firstColumn;
...
}