AccessLog.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Http\Request;
  5. class AccessLog extends Model
  6. {
  7. protected $table = 'tb_access_log';
  8. protected $primaryKey = 'id';
  9. public $keyType = 'int';
  10. public $incrementing = false;
  11. public $timestamps = false;
  12. const CREATED_AT = 'created_at';
  13. const UPDATED_AT = null;
  14. const DELETED_AT = null;
  15. protected $guarded = [];
  16. /**
  17. * DB 접근 기록 등록
  18. */
  19. public function register(Request $request): bool
  20. {
  21. return $this->insert([
  22. 'request_uri' => $request->getMethod(),
  23. 'script' => $request->getScriptName(),
  24. 'method' => $request->getMethod(),
  25. 'locale' => $request->getLocale(),
  26. 'client_ip' => IP_ADDRESS,
  27. 'referer' => REFERER,
  28. 'user_agent' => USER_AGENT,
  29. 'browser' => BROWSER,
  30. 'os' => PLATFORM,
  31. 'device' => DEVICE,
  32. 'encodings' => join(', ', $request->getEncodings()),
  33. 'format' => $request->getContentTypeFormat(),
  34. 'created_at' => now()
  35. ]);
  36. }
  37. }