| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Builder;
- use Illuminate\Foundation\Auth\User as Authenticatable;
- use Illuminate\Notifications\Notifiable;
- use Laravel\Sanctum\HasApiTokens;
- use Carbon\Carbon;
- /**
- * Admin
- * @mixin Builder
- * @method static Builder|static where($column, $operator = null, $value = null, $boolean = 'and')
- * @method static Builder|static create($data)
- * @method static Builder|static insert($array)
- *
- */
- class BaseModel extends Authenticatable
- {
- use HasApiTokens, Notifiable;
- protected $table = '';
- protected $hidden = ['created_at', 'updated_at'];
- protected $fillable = [];
- protected static function booted()
- {
- static::saved(function ($model) {
- try { \App\Services\Reporting\ReportContext::captureModel($model); }
- catch (\Throwable $e) { \Illuminate\Support\Facades\Log::error('reporting_context_failed', ['source' => $model->getTable(), 'id' => $model->getKey(), 'error' => get_class($e)]); }
- });
- }
- protected function getCreatedAtAttribute($value): string
- {
- return Carbon::parse($value)->setTimezone('Asia/Shanghai')->format('Y-m-d H:i:s');
- }
- protected function getUpdatedAtAttribute($value): string
- {
- return Carbon::parse($value)->setTimezone('Asia/Shanghai')->format('Y-m-d H:i:s');
- }
- }
|