我正在将 Laravel 4.1 应用程序升级到 5.2,并且在尝试进行数据库查询时遇到了 Eloquent 或 Ardent 的问题。
我们的应用程序使用 Repository 模型,所以问题的结构如下:
控制器块($this->user 是用户存储库):
if ($user = $this->user->where('email_address', '=', $this->request->input('email_address'))->withTrashed()->first())
{
...
}
如果我注释掉“where”部分,nginx 不会抛出错误的网关错误,所以我知道这就是问题所在。
这连接到用户存储库文件中的函数,其中用户是模型类:
public function where($col, $op, $cond)
{
return User::where($col, $op, $cond);
}
User 模型只是一个扩展 Ardent 的类(一个扩展 Eloquent 的验证包)。没有什么可以覆盖标准的 Eloquent “where” 函数,所以我不确定究竟是什么导致了错误的网关错误。
任何帮助将不胜感激,如果更多信息有用,我可以提供它,就像这里的所有相关部分一样。