Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 4+;奏鸣曲+;Sonata Doctrine ORM管理包:错误:没有要处理的元数据类_Symfony_Doctrine Orm_Sonata Admin_Sonata_Symfony Sonata - Fatal编程技术网

Symfony 4+;奏鸣曲+;Sonata Doctrine ORM管理包:错误:没有要处理的元数据类

Symfony 4+;奏鸣曲+;Sonata Doctrine ORM管理包:错误:没有要处理的元数据类,symfony,doctrine-orm,sonata-admin,sonata,symfony-sonata,Symfony,Doctrine Orm,Sonata Admin,Sonata,Symfony Sonata,我正试图让索纳塔使用索纳塔管理包与symfony4合作 我已经安装了以下内容(不确定是否所有这些都是必要的),并将我的数据库详细信息添加到.env文件中。这确实会显示一个空白的sonata管理页面 symfony-skeleton sonata-project/admin-bundle sonata-project/doctrine-orm-admin-bundle symfony/orm-pack symfony annotations 现在我想将实体添加到我的项目中,因此我从教程中复制了一

我正试图让索纳塔使用索纳塔管理包与symfony4合作

我已经安装了以下内容(不确定是否所有这些都是必要的),并将我的数据库详细信息添加到.env文件中。这确实会显示一个空白的sonata管理页面

symfony-skeleton
sonata-project/admin-bundle
sonata-project/doctrine-orm-admin-bundle
symfony/orm-pack
symfony annotations
现在我想将实体添加到我的项目中,因此我从教程中复制了一些实体,将它们放在
src\Entity
文件夹中,并添加了
名称空间
用作ORM
语句:

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

// ...
use Doctrine\Common\Collections\ArrayCollection;
// ...

class Category
{
    // ...

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string")
     */
    private $name;

    /**
    * @ORM\OneToMany(targetEntity="BlogPost", mappedBy="category")
    */
    private $blogPosts;

    public function __construct()
    {
        $this->blogPosts = new ArrayCollection();
    }

    public function getBlogPosts()
    {
        return $this->blogPosts;
    }

    // ...
}
app\config\bundles.php

<?php

return [
    Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
    Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
    Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
    Sonata\DatagridBundle\SonataDatagridBundle::class => ['all' => true],
    Sonata\CoreBundle\SonataCoreBundle::class => ['all' => true],
    Sonata\BlockBundle\SonataBlockBundle::class => ['all' => true],
    Knp\Bundle\MenuBundle\KnpMenuBundle::class => ['all' => true],
    Sonata\AdminBundle\SonataAdminBundle::class => ['all' => true],
    Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle::class => ['all' => true],
    Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
    Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle::class => ['all' => true],
    Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
    Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
];

这可能是由于清理了缓存,因为条令正在缓存所有数据。请尝试以下命令:

php bin/console cache:clear --env=prod
php bin/console cache:clear --env=dev
您应该在
app/config/config.yml
文件中有此配置:

doctrine:

    ...

    orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true
        mappings:
            AppBundle:
                mapping: true
                type: annotation
                alias: Blog
                prefix: App\Bundle\Entity

并确保您的
Sonata AdminBundle
已在AppKernel中注册。

在此处找到了我问题的答案:


我使用的教程中的示例类没有@Entity注释,因此被原则跳过。

当这些链接最终消失时,您的问题和答案将变得毫无用处。问你到底做了什么。你试过清理缓存吗?@Imanali Mamadiev是的。我没有app/config/config.xml文件,你提到的设置似乎在我的app/config/packages/doctor.yaml文件中,但它看起来与你的略有不同,我会用它更新我的OP。哇,Symfony真是太差劲了!有同样的问题:/
php bin/console cache:clear --env=prod
php bin/console cache:clear --env=dev
doctrine:

    ...

    orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true
        mappings:
            AppBundle:
                mapping: true
                type: annotation
                alias: Blog
                prefix: App\Bundle\Entity