2017-01-09 4 views
0

私のデータベースに何らかのデータを記録するという意見が必要です。Laravel 5.3一部のルートリクエストを記録する

/series/episode/{id} 
/movie/{id} 
/video/{id} 
/music/{id} 

たびに各モジュールの要求、データベース内の行(が存在することになる場合に: - 別のテーブルシリーズ/映画/ビデオ/音楽

私が追跡する必要があり、以下の経路を有しています - ユーザーID

  • PK - エピソード/映画/映像/音楽ID
  • PK - add_date
    • PK:)次のデータを挿入されます

    私はこれを達成するための大きな選択肢を持っているが、私はそうする最も正しい方法である知っていると思います:

    1. ミドルウェア
    2. 直接コントローラ
    3. データベースウォッチャー(内クエリイベント)
    私にはわからない特定の機能がありますか、特定の状況で役立つと思われる特定の機能があります。

    あなたの意見は?

    +1

    私はミドルウェアのために行くだろう。 – sepehr

    +0

    @sepehr、ミドルウェアはルートを検出し、それがどのモジュールであるかに応じてクエリを実行しますか? – Coder

    +0

    1つのミドルウェアが行います。ルートからモジュール名を取得します。 – sepehr

    答えて

    2

    私はルートにリンクされたミドルウェアを作成します。ルートがトリガーされると、ミドルウェアが動作します。ミドルウェアはURLからIDを取得し、データベースにログを作成します。

    ほとんどすべての方法で繰り返されるコードのため、このようにコントローラーはそれほど拡張されません。

    +1

    私は各モジュール(映画/エピソード/音楽/ビデオ)用のミドルウェアを作成する必要があると思いますか?それとも共通のものが良いでしょうか? – Coder

    +0

    ミドルウェアでどれくらいしたいかによって異なります。ログだけをしたいのであれば、私は何をログに記録するのかを決定するミドルウェアを使用します。もっとやる必要がある場合は、将来的には別のミドルウェアを使用します。 –

    関連する問題