命名空间“...”不包含任何映射实体

时间:2013-11-17 18:53:40

标签: symfony doctrine

当我尝试从控制台创建权限时,我发出此错误:

命名空间“...”不包含任何映射实体

所以,

这是我的代码

哪一行有误,请告诉我。感谢。

                namespace SfTuts\JobeetBundle\Entity;
                use Doctrine\ORM\Mapping as ORM;

                /**
                * @ORM\Entity
                * @ORM\Table(name="job")
                */
                class Job
                {
                /**
                * @ORM\Id
                * @ORM\Column(type="integer")
                * @ORM\GeneratedValue(strategy="IDENTITY")
                */
                protected $id;

                /**
                * @ORM\ManyToOne(targetEntity="Category")
                * @ORM\JoinColumn(name="category_id", referencedColumnName="id")
                */
                protected $category;

                /**
                * @ORM\Column(type="string", length=255)
                */
                protected $type;

                /**
                * @ORM\Column(type="string", length=255, nullable=true)
                */
                protected $company;

                /**
                * @ORM\Column(type="string", length=255)
                */
                protected $logo;

                /**
                * @ORM\Column(type="string", length=255, nullable=true)
                */
                protected $url;

                /**
                * @ORM\Column(type="string", length=255, nullable=true)
                */
                protected $position;

                /**
                * @ORM\Column(type="string", length=255)
                */
                protected $location;

                /**
                * @ORM\Column(type="string", length=4000)
                */
                protected $description;

                /**
                * @ORM\Column(type="string", length=4000, name="how_to_apply")
                */
                protected $howToApply;

                /**
                * @ORM\Column(type="string", length=255, unique=true)
                */
                protected $token;

                /**
                * @ORM\Column(type="boolean", name="is_public")
                */
                protected $isPublic;

                /**
                * @ORM\Column(type="boolean", name="is_activated")
                */
                protected $isActivated;

                /**
                * @ORM\Column(type="string", length=255)
                */
                protected $email;

                /**
                * @ORM\Column(type="datetime", name="created_at")
                */
                protected $createdAt;

                /**
                * @ORM\Column(type="datetime", name="updated_at")
                */
                protected $updatedAt;

                /**
                * @ORM\Column(type="datetime", name="expires_at")
                */
                protected $expiresAt;

                public function __construct()
                {
                $this->createdAt = new \DateTime();
                $this->updatedAt = new \DateTime();
                }
                }

我该如何解决这个问题。感谢。

5 个答案:

答案 0 :(得分:5)

使用

doctrine:generate:entity

创建新实体。

然后通过编辑文件添加自己的属性后,使用

doctrine:generate:entities AcmeDemoBundle:MyEntity

创建getter / setters

答案 1 :(得分:0)

我发现如果将目录更改为项目目录,则将路径选项添加到命令中,它每次都有效。我跑了:

sudo app/console doctrine:generate:entities --path=./ Blog

在处理symblog.dev教程时。这就是工作所需要的

答案 2 :(得分:0)

我发现命名空间需要与您的实体匹配。仔细检查你的斜线。

app/console doctrine:generate:entities SfTuts/JobeetBundle/Entity

答案 3 :(得分:0)

您可能使用路径而不是命名空间。

执行以下规则:

app/console doctrine:generate:entities SfTuts/JobeetBundle/Entity --no-backup

答案 4 :(得分:0)

我发现如果您忘记将捆绑包添加到AppKernel课程,则会出现此错误。

添加我的后,只需使用console doctrine:generate:entities MyBundle就可以了。