命名空间不包含Symfony 2中的映射实体

时间:2013-12-17 09:48:08

标签: symfony doctrine

我在src / Andrei / StatisticsBundle / Entity / Attribute / Value / ButtonVarchar.php中创建了一个新实体。以下是此类的代码:

<?php

namespace Andrei\StatisticsBundle\Entity\Attribute\Value;

class ButtonVarchar
{
    protected $value;
}

并在src / Andrei / StatisticsBundle / Resources / config / doctrine / ButtonVarchar.yml我定义了以下映射信息:

Andrei\StatisticsBundle\Entity\Attribute\Value\ButtonVarchar:
    type: entity
    table: button_attribute_value_varchar
    id:
        id:
            type: integer
            generator: { strategy: AUTO }
    fields:
        value: 
            type: string
            length: 255
    manyToOne:
        button:
            targetEntity: Button
            inversedBy: attributeValues
            joinColumn:
                name: button_id
                referencedColumnName: id

由于某些原因,当我运行php app / console doctrine:generate:entities时,我收到以下错误:

[RuntimeException] Namespace "Andrei\StatisticsBundle\Entity\Attribute\Value" does not contain any mapped entities. 

我无法理解为什么会这样。有人能指出我正确的方向吗?谢谢。

3 个答案:

答案 0 :(得分:1)

您是否将StatisticsBundle添加到Doctrine配置?

例如:

doctrine:
  orm:
    auto_mapping: true
    mappings:
         AndreiStatisticsBundle: ~

您可以在以下链接中看到映射问题:

https://github.com/symfony/symfony/pull/675

答案 1 :(得分:0)

您的实体似乎被分成细粒度的包。在这种情况下,您需要指定fully qualified namespace才能使其正常工作。

 targetEntity: Fully\Qualified\Namespace\To\Button

答案 2 :(得分:0)

它也可能有所帮助。

这有效:

MyUniqBundle:Entity

这不起作用:

MyUniqBundle/Entity