Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 类不是有效的实体或映射的超类_Php_Orm_Doctrine_Mapping_Slim - Fatal编程技术网

Php 类不是有效的实体或映射的超类

Php 类不是有效的实体或映射的超类,php,orm,doctrine,mapping,slim,Php,Orm,Doctrine,Mapping,Slim,有一个slim+条令项目,实体创建如下: Сыыцццццццццццццаааааa

有一个slim+条令项目,实体创建如下:

  • Сыыцццццццццццццаааааa<
  • 2) 然后执行命令
    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;
    
        ...
    }