1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace App\Observers;
- use App\Models\Asset;
- class AssetObserver
- {
- /**
- * Handle the Asset "created" event.
- */
- public function created(Asset $asset): void
- {
- //
- }
- /**
- * Handle the Asset "updated" event.
- */
- public function updated(Asset $asset): void
- {
- //
- }
- /**
- * Handle the Asset "deleted" event.
- */
- public function deleted(Asset $asset): void
- {
- }
- public function deleting(Asset $asset): void
- {
- // 解除 asset 与 requirementGroups 的关联,但不删除 requirementGroups
- $asset->requirementGroups()->update(['asset_id' => null]);
- // 遍历 requirements,解除每个 $requirement 与 projects 的关联
- foreach ($asset->requirements as $requirement) {
- $requirement->projects()->detach();
- }
- // 类似地,解除 asset 与 requirements 的关联
- $asset->requirements()->update(['asset_id' => null]);
- // 遍历 plans,解除每个 plan 与 projects 的关联
- foreach ($asset->plans as $plan) {
- $plan->projects()->detach();
- }
- $asset->plans()->delete();
- foreach ($asset->library as $library){
- $library->container()->delete();
- }
- $asset->library()->delete();
- }
- /**
- * Handle the Asset "restored" event.
- */
- public function restored(Asset $asset): void
- {
- //
- }
- /**
- * Handle the Asset "force deleted" event.
- */
- public function forceDeleted(Asset $asset): void
- {
- //
- }
- }
|