Doctrine:Class不是有效的实体或映射的超类,错误

时间:2014-06-25 21:41:50

标签: php symfony doctrine

所以我得到了名人:

[RuntimeException]
Namespace "MyAppSomeToolBundle" does not contain any mapped entities.

doctrine:generate:entities [--path="..."] [--no-backup] name

我尝试在stackoverflow上搜索任何答案,但似乎没有任何效果。似乎我的代码已正确格式化。我也有:

orm:
    auto_mapping: true

我在执行时遇到错误:

php app/console doctrine:generate:entities MyApp\SomeToolBundle\Entity\Lang

这是我的代码:

<?php
    namespace MyApp\SomeToolBundle\Entity;

    use Doctrine\ORM\Mapping as ORM;

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

        /**
         * @ORM\Column(type="text")
         */
        protected $language;
        /**
         * @ORM\Column(type="text")
         */
        protected $text;
        /**
         * @ORM\Column(type="text")
         */
        protected $option1;
        /**
         * @ORM\Column(type="text")
         */
        protected $option2;
        /**
         * @ORM\Column(type="text")
         */
        protected $rated;
    }
?>

所以我不确定如何正确调试这个。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

为什么使用php app/console doctrine:generate:entities?该错误告诉您已经手动创建了实体。

您可能希望通过在应用程序文件夹中执行以下命令来生成数据库表。

php -f ./vendor/doctrine/doctrine-module/bin/doctrine-module.php orm:schema-tool:update --force

您可以在执行之前查看sql:

php -f ./vendor/doctrine/doctrine-module/bin/doctrine-module.php orm:schema-tool:update --dump-sql