php - 尽管使用命名空间,但使用 make:entity 在控制器中无法识别的实体类
问题描述
在Symfony 4中,使用bin/console
我创建了新实体:
php bin/console make:entity Being
...
它创建Entity/Being.php
和Repository\BeingRepository.php
文件。
后来我也使用了make:migration
and doctrine: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.php
和Repository\BeingRepository.php
) 创建的文件。第一个看起来像这样:
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\BeingRepository")
*/
class Being
{
...
我错过了什么吗?
解决方案
尝试只执行作曲家dump-autoload
或简单地composer dumpa
在控制台中执行。在大多数情况下,它会有所帮助。
composer dumpa
推荐阅读
- javascript - 如何将来自后端的有效负载响应重新格式化为所需的格式?
- r - 如何在 knitr_kable 对象上加上括号
- java - 第二个 Scanner 对象的输入与类型不匹配..?
- woocommerce - 我将购物车和结帐页面合并为一个现在迷你购物车不更新金额
- node.js - Passport 未根据要求公开 login() 函数
- java - 没有@EnableAsync,@Async 是否可以工作
- google-cloud-firestore - 您可以在 Firestore 中隐藏集合组查询的父 ID 信息吗?
- amazon-web-services - 允许 Stripe webhook 访问 AWS EC2 实例
- ubuntu - 如何在 vscode ubuntu 20.04 中显示表情符号?
- node.js - 无法通过匹配 _id 更新 MongoDB 集合