Example #1
0
 public static function boot()
 {
     parent::boot();
     static::creating(function ($model) {
         $model->createdby = Auth::user()->id;
         $model->createddate = date("Y-m-d H:i:s");
         $model->modifiedby = Auth::user()->id;
         $model->modifieddate = date("Y-m-d H:i:s");
     });
     static::created(function ($model) {
         Log::create(['employeeid' => Auth::user()->id, 'operation' => 'Add', 'date' => date("Y-m-d H:i:s"), 'model' => class_basename(get_class($model)), 'detail' => $model->toJson()]);
         if ($model->isheadquarter) {
             for ($i = 1; $i <= $model->keyslot; $i++) {
                 $m = new KeySlot();
                 $m->provinceid = $model->provinceid;
                 $m->no = $i;
                 $m->active = true;
                 $m->save();
             }
         }
     });
     static::updating(function ($model) {
         $model->modifiedby = Auth::user()->id;
         $model->modifieddate = date("Y-m-d H:i:s");
     });
     static::updated(function ($model) {
         Log::create(['employeeid' => Auth::user()->id, 'operation' => 'Update', 'date' => date("Y-m-d H:i:s"), 'model' => class_basename(get_class($model)), 'detail' => $model->toJson()]);
         if ($model->isheadquarter) {
             $max = KeySlot::where('provinceid', $model->provinceid)->max('no');
             if ($max == null) {
                 $max = 0;
             }
             if ($model->keyslot > $max) {
                 for ($i = $max + 1; $i <= $model->keyslot; $i++) {
                     $m = new KeySlot();
                     $m->provinceid = $model->provinceid;
                     $m->no = $i;
                     $m->active = true;
                     $m->save();
                 }
             } elseif ($model->keyslot < $max) {
                 KeySlot::where('provinceid', $model->provinceid)->where('no', '>', $model->keyslot)->delete();
             }
         }
     });
     static::deleted(function ($model) {
         Log::create(['employeeid' => Auth::user()->id, 'operation' => 'Delete', 'date' => date("Y-m-d H:i:s"), 'model' => class_basename(get_class($model)), 'detail' => $model->toJson()]);
         if ($model->isheadquarter) {
             KeySlot::where('provinceid', $model->provinceid)->delete();
         }
     });
 }