当前位置: 首页 > 知识库问答 >
问题:

试图对类(Symfony)调用方法“getDoctrine”

双恩
2023-03-14

我试图创建小应用程序从表中读取记录的id使用symfony/主义。我的步骤:

  1. 创建控制器(GS\OrderBunndle\controller\CustomerCountroller.php),路由。测试URL-它正在工作
  2. 使用列和getter/setter为customer表(GS\OrderBundle\Entity\customer.php)创建实体

3) 已创建GS\OrderBundle\Entity\CustomerRepository。php(我不知道为什么我还需要它,它是自动生成的)。源代码:

namespace GS\OrderBundle\Entity;

use Doctrine\ORM\EntityRepository;

class CustomerRepository extends EntityRepository
{
}

4) 修改的CustomerController。php:

<?php

namespace GS\OrderBundle\Controller;
use Symfony\Component\HttpFoundation\Response;
use GS\OrderBundle\Entity\Customer;
use Doctrine\ORM\EntityManager; 

class CustomerController 
{

    public function indexAction($id)
    {
            $customer = $this->getDoctrine()->getRepository('GSOrderBundle:Customer')->find($id);
               return new Response(
            '<html><body>Number: '.$id.'</body></html>'
        );
    }
}

并获得以下错误:

试图在类“GS\OrderBundle\Controller\CustomerController”上调用方法“getDoctrine”。

500内部服务器错误-未定义MethodException

堆栈跟踪

在src/GS/OrderBundle/Controller/CustomerController中。第13行的php-公共函数索引($id){$customer=$this-

共有1个答案

喻高寒
2023-03-14

您需要扩展Symfony的Controller类,以便能够使用getdoctor()方法。

因此:

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class CustomerController extends Controller
{

    public function indexAction($id)
    {
            $customer = $this->getDoctrine()->getRepository('GSOrderBundle:Customer')->find($id);
               return new Response(
            '<html><body>Number: '.$id.'</body></html>'
        );
    }
}

(您也可以将控制器定义为服务,但这是更复杂的解决方案)

 类似资料:
  • 问题内容: 我有以下课程 这只是我实际架构的简化版本。最初,我不知道需要创建的人员类型,因此处理这些对象创建的函数将常规对象作为参数。 现在,我想使用此父类对象访问子类的方法。我还需要不时访问父类方法,所以 我不能 使其 抽象 。 我想我在上面的示例中简化太多了,所以这是实际的结构。 if语句显示“无法为QuestionOption找到getMultiple”。OuestionOption具有更多

  • 问题内容: 在Eclipse中调试时如何调用类实例方法? 例如,假设我有以下代码: 我在canvas.drawColor行上有一个断点。当我调试时,代码停止在那一行,并且我可以查看canvas内的变量,但是我也希望能够像在Visual Studio中那样调用canvas内的方法以查看它们返回的结果? 问题答案: 打开“ 显示” 视图,在其中键入要执行的代码,选择它,单击鼠标右键,然后根据您要 执行

  • 我的应用程序有问题,我想解决它,但我无法访问解决方案,请帮助我,,,

  • 我正在开发一个具有蓝牙功能的应用程序。我使用一个片段来扫描并列出蓝牙设备。单击时,会回调到提供所选蓝牙设备的主要活动。 我一开始使用的是Android 6(API 23)的智能手机,然后不得不调整代码以适应Android 5.0(API 21)的使用。 我只是将minSDK更改为API21并重新构建了项目,没有任何问题。 该应用程序在智能手机上运行时没有任何问题。安装了Android5的平板电脑运

  • 我是Android的新手,我正在开发一个应用程序,该应用程序试图连接服务器并获取Json响应,将其解析为类并使其可用。 为此,我上了三门课 公共类顾客{} 公共类ServerConnect{} 公共类JsonParser{} Serverconnect使用Volley库在异步线程上下载网页源代码。下载后,Server Connect类启动OnServerResponsed(String Respo

  • 问题内容: 我有以下代码: 运行此命令时,我不断收到错误消息: 我无法弄清楚这是怎么回事,不胜感激。 问题答案: 在定义了类之前,您无法创建对类方法的引用。您必须将其移出类定义。但是,使用全局函数映射来确定要执行的操作确实很尴尬。如果您描述了您要对此进行的操作,我们可能会建议一个更好的解决方案。