Eloquent Logrotate
分享链接:https://github.com/recca0120/eloquent-logr...
寫了一個可以依 日、周、月、年
來自動建立資料表的 Traits
用法很簡單
class YearlyLog extends Model
{
use Logrotate;
protected $logrotateType = 'yearly';
protected function logrotateTableSchema($table)
{
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->timestamps();
}
}
class MonthlyLog extends Model
{
use Logrotate;
protected $logrotateType = 'monthly';
protected function logrotateTableSchema($table)
{
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->timestamps();
}
}
class WeeklyLog extends Model
{
use Logrotate;
protected $logrotateType = 'weekly';
protected function logrotateTableSchema($table)
{
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->timestamps();
}
}
class DailyLog extends Model
{
use Logrotate;
protected $logrotateType = 'daily';
protected function logrotateTableSchema($table)
{
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->timestamps();
}
}
class HourlyLog extends Model
{
use Logrotate;
protected $logrotateType = 'hourly';
public function __construct($attributes = [], $reset = false)
{
parent::__construct($attributes);
if ($reset === true) {
static::$logrotateTableCreated = [];
}
}
protected function logrotateTableSchema($table)
{
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->timestamps();
}
}
class CustomFormatWeeklyLog extends Model
{
use Logrotate;
protected $logrotateType = 'weekly';
protected $logrotateTypeFormat = [
'weekly' => 'Y_W',
];
protected function logrotateTableSchema($table)
{
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->timestamps();
}
}