【发布时间】:2014-09-02 12:05:48
【问题描述】:
我正在从 php 类生成一个实体:
<?php
// src/Printing/Productesbundle/Entity/User.php
namespace Printing\ProductesBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="UsersStamp")
*/
class UserStamp
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
private $id;
}
?>
当我执行时
php app/console doctrine:generate:entities Printing/ProductesBundle/Entity/UserStamp
它返回以下错误
[Doctrine\ORM\Mapping\MappingException]
Class "Printing\ProductesBundle\Entity\UserStamp" is not a valid entity or mapped super class.
我错过了什么??
谢谢!
PS:
这是我的教义配置:
# Doctrine Configuration
doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
# if using pdo_sqlite as your database driver, add the path in parameters.yml
# e.g. database_path: "%kernel.root_dir%/data/data.db3"
# path: "%database_path%"
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
【问题讨论】:
-
为
$id属性设置类似* @var integer和* @ORM\Column(name="id", type="integer")和* @ORM\GeneratedValue(strategy="AUTO")的var 类型 -
它仍然给我同样的错误:(
-
基于文档symfony.com/doc/current/book/…,该命令的唯一目的是为实体生成适当的 getter 和 setter 以及可能的存储库类。我想如果你清除缓存
php app/console cache:clear env=dev --no-debug然后运行php app/console doctrine:generate:entities src/Printing/Productesbundle/Entity/UserStamp它可能会工作 -
我按照您的说明进行操作:-清理缓存.. 好的(env 之前缺少两个破折号)-运行学说:generate:entities 命令,但它仍然给我同样的错误。
标签: php symfony doctrine-orm