sql >> データベース >  >> RDS >> Mysql

Laravelビジターカウンター

    私はこれについて100%確信していませんが、あなたはこのようなことをすることができるはずです。テストされておらず、よりエレガントな方法があるかもしれませんが、それはあなたにとっての出発点です。

    テーブルを変更する

    visit_date (datetime)を変更します visit_date (date)への列 およびvisit_time (time) 列、次にidを作成します 主キーとなる列。最後に、ip + dateを設定します 同じIPを1日に2回入力できないようにするための一意のキーである必要があります。

    Eloquentモデルを作成する

    これは簡単にするためです。テーブルのEloquentモデルを作成して、Fluent(クエリビルダー)を常に使用する必要がないようにします。

    class Tracker extends Eloquent {
    
        public $attributes = [ 'hits' => 0 ];
    
        protected $fillable = [ 'ip', 'date' ];
        protected $table = 'table_name';
    
        public static function boot() {
            // Any time the instance is updated (but not created)
            static::saving( function ($tracker) {
                $tracker->visit_time = date('H:i:s');
                $tracker->hits++;
            } );
        }
    
        public static function hit() {
            static::firstOrCreate([
                      'ip'   => $_SERVER['REMOTE_ADDR'],
                      'date' => date('Y-m-d'),
                  ])->save();
        }
    
    }
    

    これで、次のように呼び出すだけで、やりたいことができるようになります。

    Tracker::hit();
    


    1. SQLite Order By Date1530019888000

    2. SQL Serverで外部キーを作成する方法(T-SQLの例)

    3. JSONをMySQLテーブルに解析する

    4. Oracleストアドプロシージャをテストする最も簡単な方法