Laravel 4 生产出错:调用未定义的方法 Illuminate\Database\QueryException::message()

Error on Laravel 4 production: Call to undefined method Illuminate\Database\QueryException::message()

我设法在一个子目录上设置了一个 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 应用程序)上测试了数据库,以查看数据库设置是否正确。数据库连接正常,但测试连接文件未使用 l4。

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

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

谢谢,祝你有幸福的一天<><, 维克多

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

$error = $e->getMessage();

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

我是怎么想出来的? $e 变量是 PDOException 的一个实例。如果您查看此 class 的 public API,您会发现没有可以调用的名为 message() 的方法。然而,这是 getMessage() 并且这可能是您首先打算做的。在此处访问 public API:

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