เพราะว่ามีการ cache ข้อมูลบางส่วนไว้เป็น file เมื่อมีการแก้ไขข้อมูลผ่าน model ในกระบวนการ created, creating, deleted, deleting, forceDeleted, forceDeleting, restored, restoring, updated, updating จะต้องไป แก้ไขหรือสร้างไฟล์พวกนี้ด้วย ใน Laravel สามารถทำได้โดยใช้ Observer
- สร้าง Observer โดยใช้คำสั่ง
php artisan make:observer { class name }
เช่นphp artisan make:observer CategoryObserver - แก้ไฟล์ model ที่จะให้ ป้า Observer เช่น SourceCode/app/Observers/CategoryObserver.php
PHP
<?php namespace App\Observers; use App\Http\Controllers\AssetCacheController; use App\Models\Category; class CategoryObserver { private function createdUpdateAssetCache (Category $item) { $controller = new AssetCacheController () ; $controller->cacheSelectOptions ('category_id', 'Category') ; } private function created (Category $item) { $this->createdUpdateAssetCache ($item) ; } public function deleted (Category $item) { $this->createdUpdateAssetCache ($item) ; } public function forceDeleted (Category $item) { $this->createdUpdateAssetCache ($item) ; } public function updated (Category $item) { $this->createdUpdateAssetCache ($item) ; } }