1

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」関数をオーバーライドするものは何もないため、正確に何が悪いゲートウェイエラーを引き起こしているのかわかりません。

より多くの情報が役立つ場合は、私が提供できる情報を提供していただければ幸いです。

4

0 に答える 0