SonataAdminBundle:添加新的实体问题

时间:2012-08-29 09:54:27

标签: symfony doctrine-orm

我接受了Symfony的“新”安装,并将其与Sonata Admin Bundle集成。
在阅读了关于S.A.B.的一些事情之后我决定尝试在仪表板中添加一个“类别” 据我所知,我必须:

  • 创建我的实体和表到db(doctrine将为我做)
  • 为我的新实体创建一个Admin类
  • 将Admin类注册为服务,并按要求将其标记为sonata.admin

我的问题基本上是这样的:

我遵循Sonata用户捆绑方法并找到一些类(它来自FOSUserBundle中的用户和组)并定义了一个实体(空),它扩展了代码所在的模型。该模型必须包含属性(列表)和getter和setter。 所以我开始用 注释 方法编写该模型。这是我的代码:

<?php

namespace Sonata\SestanteBundle\Model;

use Doctrine\ORM\Mapping as ORM;
/**
 * Sonata\SestanteBundle\Model\myFooEntity;
 *
 * @ORM\Table(name="myFooTable")
 * @ORM\Entity(repositoryClass="Sonata\SestanteBundle\Repository\myFooRepository")
 */

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

    /**
    * @ORM\Column(type="string", length=25, unique=true)
    */
    private $fooName;

    /**
    * @ORM\Column(name="is_active", type="boolean")
    */
    private $isActive;
}

现在我跑的时候:

php app/console doctrine:generate:entities vendor/bundles/Sonata/SestanteBundle/Model

我收到了这个错误:

  

[RuntimeException]命名空间“vendor \ bundles \ Sonata \ SestanteBundle \ Model”不包含任何映射实体。

我的想法是什么:

  • 在映射方法的其他位置设置,强制我将该属性表示为。groups和用户does等.xml文件? 进入config.yml我只看到一些“标准”

任何超越此错误的想法?

编辑:我认为这个问题与命名空间或类似的问题有关。如果我尝试生成具有不同名称(不存在)的实体,我会收到相同的错误...

1 个答案:

答案 0 :(得分:0)

虽然可能很痛苦,但删除实体中的所有@ORM\,以及注释掉或删除use Doctrine\ORM\Mapping as ORM;之前已解决了我的问题。我试图确定是什么原因导致命名空间放在那里以及如何阻止它,但没有成功。

相关问题