laravel观察者模型写入日志代码
                ed为执行成功后,是过去式,ing是执行前,进行时
use Illuminate\Support\Facades\Storage;//文件存储
use Carbon\Carbon;//日期
 public function updated(Beipinbeijian_fenlei $beipinbeijian_fenlei): void
    {
        //
        // 获取当前日期时间(Carbon 实例)
         $now = Carbon::now(); 
        // 仅获取年月日(格式化为字符串)
        $date = Carbon::now()->toDateString(); // 2024-05-30
       Storage::put( '观察者模型.txt', $beipinbeijian_fenlei); // 文件存储保存日志,不仅是txt文件  
       Storage::append('备品备件/'.$date.'备品备件更新日志.txt', $beipinbeijian_fenlei);
    }
    //  更新前 ing  更新后加ed
    public function updating(Beipinbeijian_fenlei $beipinbeijian_fenlei): void
    {
        //
       // 获取旧数据(更新前的原始数据)
    $oldData = $beipinbeijian_fenlei->getOriginal();
    // 获取新数据(更新后的内存数据)
    $newData = $beipinbeijian_fenlei->getAttributes();
    // 生成时间戳(避免文件名重复)
    $timestamp = Carbon::now()->format('Ymd_His');
    // 确保目录存在
    Storage::makeDirectory('spare_parts_logs');
    // 构建日志内容
    $logContent = json_encode([
        'old' => $oldData,
        'new' => $newData,
        'changed_fields' => $beipinbeijian_fenlei->getDirty() // 仅获取被修改的字段
    ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
    // 写入文件(每次修改生成独立文件)
    Storage::put("备品备件更新日志/{$timestamp}_log.json", $logContent);
    }
                                        最近访问时间:2025-11-01 22:51:27