我遇到了新的捆绑包AdminBundle,我刚刚创建了麻烦。我看到以下ORMException消息:
未知实体名称空间别名'AdminBundle'。
这是 DefaultController.php :
<?php
namespace AdminBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\Session;
class DefaultController extends Controller
{
/**
* @Route("/dashboard", name="admin_default_dashboard")
* @return Response
*/
public function dashboardAction()
{
$manager = $this->getDoctrine()->getManager();
$rObject = $manager->getRepository('AdminBundle:Object');
return $this->render('AdminBundle:Default:dashboard.html.twig');
}
}
这是我的 config.yml 文件中的学说配置:
doctrine:
dbal:
default_connection: default
connections:
default:
driver: pdo_mysql
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
orm:
auto_generate_proxy_classes: "%kernel.debug%"
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
这是 ObjectRepository.php 文件:
<?php
namespace AdminBundle\Repository;
use Doctrine\ORM\EntityRepository;
use AppBundle\Entity\Object;
class ObjectRepository extends EntityRepository
{
}
我试图查看类似线程的解决方案,但没有一个对我有用。
修改
这是对象实体代码:http://collabedit.com/agyh8
PS。谢谢,Arkovsky,征求意见。我肯定会更改实体名称。
答案 0 :(得分:0)
似乎你制作了一个没有供应商名称的捆绑包,这可能就是为什么它会出现问题。 在Symfony中创建捆绑包时,请在symfony项目中使用此控制台命令:
php bin/console generate:bundle
然后他们会问你捆绑的名字。在这里你必须用这种模式写一些东西:Bob \ AdminBundle (您可以通过您喜欢的任何供应商名称更改&#34; Bob&#34;)。然后按照说明操作,它应该可以正常工作。 从现在开始,您将在控制器中使用的捆绑包的全名将是:&#34; BobAdminBundle&#34;。 示例:
return $this->render('BobAdminBundle:Default:dashboard.html.twig');