Laravel 4.1 アプリを 5.2 にアップグレードする過程にあり、DB クエリを実行しようとして Eloquent または Ardent で問題が発生しています。
私たちのアプリはリポジトリ モデルを使用しているため、問題は次のように構造化されます。
コントローラ ブロック ($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」関数をオーバーライドするものは何もないため、正確に何が悪いゲートウェイエラーを引き起こしているのかわかりません。
より多くの情報が役立つ場合は、私が提供できる情報を提供していただければ幸いです。