Symfony - Doctrine不生成实体

Cre*_*ter 0 schema entity doctrine model symfony

我有一个很原始的问题:

我在Symfony App中创建了一个实体:

SRC /的appbundle /型号/条/ Article.php:

<?php

namespace AppBundle\Model\Article;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="articles")
 */
class Article {

    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

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

}
Run Code Online (Sandbox Code Playgroud)

当我输入控制台时:

php app/console doctrine:generate:entities AppBundle
Run Code Online (Sandbox Code Playgroud)

它打印:

Bundle "AppBundle" does not contain any mapped entities.
Run Code Online (Sandbox Code Playgroud)

当我输入:

php app/console doctrine:generate:entities AppBundle/Model/Article/Article
Run Code Online (Sandbox Code Playgroud)

它打印:

Class "AppBundle\Model\Article\Article" is not a valid entity or mapped super class.
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决这个问题吗?

我已经在stackoverflow上遵循了一些解决方案,如更改或关闭缓存/清除缓存/等等.但没有一个工作.

谢谢和问候!

小智 6

可能Doctrine不知道这些映射.你用发电机创建了这个捆绑包吗?

检查你config.yml的app/config,你应该在以下密钥结构下有一个条目:

doctrine:
  orm:
    mappings:
      AppBundle: ~
Run Code Online (Sandbox Code Playgroud)

编辑: 好的,你使用自定义结构.默认命名空间应如下所示:

AppBundle\Entity
Run Code Online (Sandbox Code Playgroud)

全班名应该是 AppBundle\Entity\Article

如果要坚持使用自定义映射,请检查配置文档.