Php 使用Symfony2生成实体时出错
我正在从php类生成一个实体:Php 使用Symfony2生成实体时出错,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我正在从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\Colum
<?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;
}
?>
它返回以下错误
[Doctrine\ORM\Mapping\MappingException]
Class "Printing\ProductesBundle\Entity\UserStamp" is not a valid entity or mapped super class.
我错过了什么
谢谢大家!
附言:
这就是我的条令配置:
# 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
你能试试下面的命令吗
app/console doctrine:generate:entities PrintingProductesBundle:UserStamp
在尝试了一些技巧之后,我找到了解决办法 我猜这个错误的根源是我以前从数据库中生成了实体 要解决此问题,您必须删除config/doctor文件夹的内容。
感谢@Javad继续尝试 我认为您需要执行类似的操作 php应用程序/控制台原则:生成:实体产品捆绑包
返回或异常:
未知实体命名空间别名“PrintingProductsBundle”。
是否在AppKernel.php中定义了捆绑包?是<代码>$bundles=array(//…new Printing\ProductesBundle\ProductesBundle())代码>是否“新建打印\ProductsBundle\ProductsBundle()”正确?我认为它一定是“new Printing\ProductsBundle\PrintingProductsBundle()”我在这个捆绑包中生成了其他没有抛出任何错误的实体,所以我认为这不是问题所在。如果使用正确的bundle nameapp/console原则:generate:entities-ProductesBundle:UserStamp
执行命令,则返回初始错误。设置变量类型,如*@var-integer
和*@ORM\Column(name=“id”,type=“integer”)
和*@ORM\GeneratedValue(strategy=“AUTO”)
对于$id
属性,它仍然给我相同的错误:(基于文档,该命令的唯一目的是为实体生成适当的getter和setter以及可能的存储库类。我猜如果清除缓存php-app/console-cache:clear-env=dev--no-debug
,然后运行php-app/console-doctor:generate:entities-src/Printing/Productesbundle/entity/UserStamp
may workI按照您的指示:-Clean cache..OK(env之前缺少两个破折号)-运行条令:generate:entities命令,但它仍然给我相同的错误。该命令返回相同的错误,因为它生成产品包的每个实体。
app/console doctrine:generate:entities PrintingProductesBundle:UserStamp