繁体   English   中英

SonataAdminBundle:添加新实体问题

[英]SonataAdminBundle: adding new entity issue

我已经完成了Symfony的“新”安装,并将其与Sonata Admin Bundle集成在一起。
阅读有关SAB的内容后,我决定尝试将自己的“类别”添加到仪表板中。
据我所知我必须:

  • 在db上创建我的实体和表(Doctrine将为我做这件事)
  • 为我的新实体创建一个管理员类
  • 将该Admin类注册为服务,并根据要求将其标记为sonata.admin

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

我遵循了Sonata User Bundle方法,并找到了一些类(它来自FOSUserBundle的User和Groups),并定义了一个实体(空),该实体扩展了代码所在的Model。 该模型必须包含属性(列表)以及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和用户does 进入config.yml我只看到一些“标准”

除了这个错误,还有其他想法吗?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM