Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Penghitung pengunjung Laravel

Saya tidak 100% yakin tentang ini, tetapi Anda harus dapat melakukan sesuatu seperti ini. Ini belum diuji, dan mungkin ada cara yang lebih elegan untuk melakukannya, tetapi ini adalah titik awal bagi Anda.

Ubah tabel

Ubah visit_date (datetime) kolom ke visit_date (date) dan visit_time (time) kolom, lalu buat id kolom menjadi kunci utama. Terakhir, atur ip + date menjadi kunci unik untuk memastikan Anda tidak dapat memasukkan IP yang sama dua kali selama satu hari.

Buat model Fasih

Ini hanya untuk kemudahan:buat model Eloquent untuk tabel sehingga Anda tidak harus menggunakan Fluent (pembuat kueri) sepanjang waktu:

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();
    }

}

Sekarang Anda seharusnya dapat melakukan apa yang Anda inginkan hanya dengan memanggil ini:

Tracker::hit();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengosongkan database MySQL

  2. bagaimana cara memasukkan karakter unicode ke mysql dengan pernyataan insert?

  3. Server MySQL Mandiri

  4. meta_query, bagaimana cara mencari menggunakan relasi OR &AND?

  5. sql untuk memilih 10 catatan teratas