doctrine2没有要处理的元数据类

时间:2015-10-18 13:08:10

标签: symfony

我在一个deadend中,似乎无法摆脱这个看似简单的问题。

我正在使用Symfony2并尝试从我使用generate:doctrine:entity命令生成的实体创建数据库表。但是当我运行doctrine:schema:create时,我总是得到一个"没有元数据类来处理"像Doctrine这样的信息无法找到我的实体。

我检查了数据库,命名空间和注释,尝试手动创建其他实体而不是使用generate:doctrine:entity命令,但我总是得到相同的结果。

这是我的实体:     

namespace Blogger\BlogBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="blog")
 */
class Blog
{
/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var string
 *
 * @ORM\Column(name="title", type="string", length=255)
 */
private $title;

/**
 * @var string
 *
 * @ORM\Column(name="author", type="string", length=100)
 */
private $author;

/**
 * @var string
 *
 * @ORM\Column(name="blog", type="text")
 */
private $blog;

/**
 * @var string
 *
 * @ORM\Column(name="image", type="string", length=20)
 */
private $image;

/**
 * @var string
 *
 * @ORM\Column(name="tags", type="text")
 */
private $tags;

/**
 * @var \DateTime
 *
 * @ORM\Column(name="created", type="datetime")
 */
private $created;

/**
 * @var \DateTime
 *
 * @ORM\Column(name="updated", type="datetime")
 */
private $updated;


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

/**
 * Set title
 *
 * @param string $title
 *
 * @return Blog
 */
public function setTitle($title)
{
    $this->title = $title;

    return $this;
}

/**
 * Get title
 *
 * @return string
 */
public function getTitle()
{
    return $this->title;
}

/**
 * Set author
 *
 * @param string $author
 *
 * @return Blog
 */
public function setAuthor($author)
{
    $this->author = $author;

    return $this;
}

/**
 * Get author
 *
 * @return string
 */
public function getAuthor()
{
    return $this->author;
}

/**
 * Set blog
 *
 * @param string $blog
 *
 * @return Blog
 */
public function setBlog($blog)
{
    $this->blog = $blog;

    return $this;
}

/**
 * Get blog
 *
 * @return string
 */
public function getBlog()
{
    return $this->blog;
}

/**
 * Set image
 *
 * @param string $image
 *
 * @return Blog
 */
public function setImage($image)
{
    $this->image = $image;

    return $this;
}

/**
 * Get image
 *
 * @return string
 */
public function getImage()
{
    return $this->image;
}

/**
 * Set tags
 *
 * @param string $tags
 *
 * @return Blog
 */
public function setTags($tags)
{
    $this->tags = $tags;

    return $this;
}

/**
 * Get tags
 *
 * @return string
 */
public function getTags()
{
    return $this->tags;
}

/**
 * Set created
 *
 * @param \DateTime $created
 *
 * @return Blog
 */
public function setCreated($created)
{
    $this->created = $created;

    return $this;
}

/**
 * Get created
 *
 * @return \DateTime
 */
public function getCreated()
{
    return $this->created;
}

/**
 * Set updated
 *
 * @param \DateTime $updated
 *
 * @return Blog
 */
public function setUpdated($updated)
{
    $this->updated = $updated;

    return $this;
}

/**
 * Get updated
 *
 * @return \DateTime
 */
public function getUpdated()
{
    return $this->updated;
}
}

我没有想法。我看到其他类似的问题,但没有一个可以帮助我。如果有人知道该怎么做,我会爱你的帮助;)

3 个答案:

答案 0 :(得分:0)

当我将实体类放在名为Models的目录中时,发生了一些奇怪的事情,所以我的命名空间是:

  

的appbundle \模型

但它不起作用。

所以我删除了该文件夹并创建另一个名为Entity的文件夹,并且它有效。

因此,请尝试删除BlogBundle并将Entity文件夹放在Appbundle文件夹

下面

答案 1 :(得分:0)

大部分时间由于实体路径问题和缓存而出现此错误 首先运行命令

doctrine:cache:clear-metadata

然后尝试

doctrine:schema:create

答案 2 :(得分:0)

我遇到了同样的问题。尝试从命名空间中删除Blogger:

namespace BlogBundle\Entity;