1

我已经进行了 Symfony 的“新”安装,并将它与 Sonata Admin Bundle 集成。
在阅读了一些关于 SAB 的内容后,我决定尝试在仪表板中添加一个“类别”。
据我所知,我必须:

  • 在数据库上创建我的实体和表(学说会为我做)
  • 为我的新实体创建一个 Admin 类
  • 将该 Admin 类注册为服务并按sonata.admin要求对其进行标记

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

我遵循 Sonata User Bundle 方法并找到一些类(它带有从 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”不包含任何映射实体。

我想到了什么:

  • 是否在其他地方设置了映射方法,迫使我将该属性表示为 .xml 文件,如groups和 users does?进入config.yml我只是看到一些“标准”

有什么想法可以超越这个错误吗?

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

4

1 回答 1

0

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

于 2012-09-07T11:57:03.020 回答