【问题标题】:Error on Laravel 4 production: Call to undefined method Illuminate\Database\QueryException::message()Laravel 4 生产错误:调用未定义的方法 Illuminate\Database\QueryException::message()
【发布时间】:2015-04-13 12:22:44
【问题描述】:

我设法在子目录中设置了 L4 项目: http://secure.myultratrust.com/test/users/create#b

我也有它在一个子域上: http://test3-l4.ultratrust.com/users/create#b

我在提交时收到此错误: Symfony\Component\Debug\Exception\FatalErrorException (E_ERROR) 调用未定义的方法 Illuminate\Database\QueryException::message()

(顺便说一句,忽略 URL 末尾的 #b。我正在使用称为 backb 的后退按钮 JavaScript 功能)。 =)

两者都有完全相同的信息。我让它完全在我的本地环境中运行。我认为这可能是数据库设置,所以我在另一个测试文件(未连接到 l4 应用程序)上测试了数据库,以查看数据库设置是否正确。 db 连接工作,但测试连接文件再次没有使用 l4。

l4 路线似乎至少可以显示刀片视图。但是,表单提交不起作用。我试图让我的 PHPStorm 逐步通过,但我现在无法让它工作,所以我发现很难找到这个问题。 =(

那么可能是什么问题?非常感谢任何帮助!

谢谢,祝你有美好的一天

【问题讨论】:

    标签: database laravel methods views production


    【解决方案1】:

    将 message() 替换为 getMessage()。所以你在 UsersController.php 上的第 116 行应该是这样的:

    $error = $e->getMessage();
    

    这应该可以修复特定错误。然而,由于 PDException 被抛出,它应该会导致另一个异常,然后将显示在屏幕上以启用进一步的调试。

    我是怎么想出来的? $e 变量是 PDOException 的一个实例。如果查看此类的公共 API,您会发现没有可以调用的名为 message() 的方法。然而,这是 getMessage() ,这可能是您最初想要做的。在此处访问公共 API:

    http://php.net/manual/en/class.pdoexception.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-03
      • 2017-05-03
      • 1970-01-01
      • 2016-10-22
      • 2019-09-23
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      相关资源
      最近更新 更多