尽管使用了命名空间,但在控制器中无法识别由make:entity制成的实体类

问题描述 投票:1回答:1

Symfony 4]中,使用bin/console我创建了新实体:

php bin/console make:entity Being
...

它创建了Entity/Being.phpRepository\BeingRepository.php文件。

稍后我也使用了make:migrationdoctrine:migration:migrate,现在我的更改在数据库中可见。

问题是,当我在Controller/DefaultController.php中编写简单的控制器时:

namespace App\Controller;
use App\Entity\Being;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class DefaultController extends AbstractController
{

/**
 * @Route("/", name="blog_index")
 */
public function index()
{
    $entityManager = $this->getDoctrine()->getManager();
    $beings =  $entityManager->getRepository(Being::class);
    return $this->render('default/index.html.twig',
        ["beings" => $beings->findAll()]);
}
}

我收到错误:

类'App \ Entity \ Being'不存在

我还尝试将Being更改为显式\App\Entity\Being,但结果相同。

请注意,我没有触摸过make:entity创建的文件(Entity/Being.phpRepository\BeingRepository.php)。第一个看起来像这样:

<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="App\Repository\BeingRepository")
 */
class Being
{
...

我想念什么吗?

在Symfony 4中,我使用bin / console创建了新实体:php bin / console make:entity正在...它创建了Entity / Being.php和Repository \ BeingRepository.php文件。后来我也用了make:...

php symfony doctrine symfony4
1个回答
0
投票

尝试仅在控制台中执行作曲器dump-autoload或仅执行composer dumpa。在大多数情况下,它会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.