Symfony2 Doctrine,生成:实体

时间:2015-12-22 11:52:38

标签: php entity-framework symfony doctrine-orm doctrine

我学习Symfony2,我的数据库有问题。我使用此文档:http://symfony.com/doc/2.7/book/doctrine.html 我有Product.php类,但是当我尝试执行此命令时: php app / console doctrine:generate:entities AppBundle / Entity / Product 我收到错误: “Class”AppBundle \ Entity \ Product“不是有效实体或映射超类。”

这是我的Product.php文件:

<?php
/**
 * Created by PhpStorm.
 * User: Marcin
 * Date: 20.12.2015
 * Time: 23:33
*/

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity
* @ORM\Table(name="product")
*/

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

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

/**
 * @ORM\Column(type="decimal", scale=2)
 */
protected $price;

/**
 * @ORM\Column(type="text")
 */
protected $description;
}

其他人有同样的错误,但他们的代码中没有“@ORM \ Entity”。我有,但问题仍然存在。 我不知道发生了什么......

更新

这是config.yml的片段:

doctrine:
dbal:
    driver:   pdo_mysql
    host:     localhost
    port:     3306
    dbname:   db_name
    user:     db_user
    password: db_password
    charset:  UTF8
    # if using pdo_sqlite as your database driver:
    #   1. add the path in parameters.yml
    #     e.g. database_path: "%kernel.root_dir%/data/data.db3"
    #   2. Uncomment database_path in parameters.yml.dist
    #   3. Uncomment next line:
    #     path:     "%database_path%"

orm:
    auto_generate_proxy_classes: "%kernel.debug%"
    naming_strategy: doctrine.orm.naming_strategy.underscore
    auto_mapping: true

Updated2:

我更改了config.yml:

orm:
    auto_generate_proxy_classes: "%kernel.debug%"
    # naming_strategy: doctrine.orm.naming_strategy.underscore
    # auto_mapping: true
    entity_managers:
      default:
        mappings:
          AppBundle: ~

当我使用时: php app / console doctrine:mapping:info 我明白了: “根据当前配置,您没有任何映射的Doctrine ORM实体。如果您有实体或映射文件,则应检查映射配置是否存在错误。”

0 个答案:

没有答案