在 Symfony 4 中,我使用bin/console
创建了新实体:
php bin/console make:entity Being
...
它创建了Entity/Being.php
和Repository\BeingRepository.php
文件。
后来我也使用了make:migration
和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
{
...
我想念什么吗?
答案 0 :(得分:1)
尝试仅在控制台中执行作曲家dump-autoload
或仅执行composer dumpa
。在大多数情况下,它会有所帮助。
composer dumpa