0

Intervention ImagecacheでLaravel 5.1を使用しています

ストアを書いているのですが、商品ページには画像がたくさんあります。画像のサイズ変更にURL ベースの操作を使用しています(たとえば、 http: //store.app/image/255x135/some-image.jpg にアクセスすると、some-image.jpg の 255x135 バージョンが生成されます)。ただし、画像が読み込まれると、Laravel はユーザーをチェックするクエリを生成します (select * from userswhere users. id= ? limit 1) 。

問題は、Intervention Imagecache ルートを含む Laravel の任意のルートにアクセスするたびにこのクエリが生成され、ページが Intervention を使用して 20 ~ 30 枚の画像をロードすると、すべての画像に対して上記のユーザー チェック SQL クエリが実行されることです (この20〜30回)。

問題を解明しようとしているときに、このクエリが Laravel のすべての単一ルートに対して生成されることに気付きました。単純なテスト ルートであっても、つまり問題は Intervention Imagecache 自体にあるわけではありません。

現在、介入ルートでユーザー チェック クエリを無効にしようとしていますが、まだ成功していません。

私の2つの質問は次のとおりです。

  1. 特定のルートに対してユーザーチェッククエリを無効にすることはできますか?
  2. この画像ごとのクエリの問題を回避する方法はありますか?

編集

最初に、DB::listen() を使用してデバッグしていましたが、複数のクエリが実行されていることが示されました (介入ルートにアクセスするたびに 1 つのクエリが実行されました)。

インストールして、Clockwork が表示する内容を確認したところ、実際には 1 つのクエリしか表示されません (複数のクエリではないため、Clockwork はすべて問題ないと言っています)。

これらの競合する結果のどれが正しいかわからなかったので、MySQL 自体からクエリを直接ログに記録しました - 残念ながら、多くの (DB::listen ログと同じ量の) クエリが実行されたことが示されました ( Clockwork は 1 つだけを示しましたが、実際にはいくつかのクエリが実行されました)。実行されます)。

問題は残っています。どんな助けでも大歓迎です。

4

0 に答える 0