我已经进行了 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
和 usersdoes
?进入config.yml
我只是看到一些“标准”
有什么想法可以超越这个错误吗?
编辑:我想这个问题是关于命名空间或类似的东西。如果我尝试生成具有不同名称(不存在)的实体,我会收到相同的错误...