使用Symfony控制台创建数据库表的问题

时间:2014-01-22 17:34:05

标签: php database symfony

我正在尝试使用Symfony命令创建数据库表,使用以下行:

php app/console doctrine:schema:create

我收到以下错误:

[Doctrine\ORM\Mapping\MappingException]
No identifier/primary key specified for Entity "Cupon\CiudadBundle\Entity\Ciudad". Every Entity must have an identifier/primary key.

这是上面的课程:

namespace Cupon\TiendaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/** @ORM\Entity */
class Tienda
{
   /**
    * @ORM\Id
    * @ORM\Column(type="integer")
    * @ORM\GeneratedValue
    */
   protected $id;

   /** @ORM\ManyToOne(targetEntity="Cupon\CiudadBundle\Entity\Ciudad") */
   protected $ciudad;


   /**
   * Get id
   *
   * @return integer 
   */
   public function getId()
   {
     return $this->id;
   }    

   /**
    * Set ciudad
    *
    * @param \Cupon\CiudadBundle\Entity\Ciudad $ciudad
    * @return Tienda
    */
   public function setCiudad(\Cupon\CiudadBundle\Entity\Ciudad $ciudad = null)
   {
      $this->ciudad = $ciudad;
      return $this;
   }

   /**
   * Get ciudad
   *
   * @return \Cupon\CiudadBundle\Entity\Ciudad 
   */
   public function getCiudad()
   {
      return $this->ciudad;
   }

   public function __toString()
   {
      return $this->getNombre();
   }

}

我不明白什么事情真的发生了,因为我把这个ID放在了课堂上。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

只需检查Ciudad实体是否有ID

您应该包含以下注释,例如:

namespace Cupon\TiendaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/** @ORM\Entity */
class Ciudad 
{
   /**
    * @ORM\Id
    * @ORM\Column(type="integer")
    * @ORM\GeneratedValue
    */
   protected $id;
//..