コード例 #1
0
ファイル: NodeTrait.php プロジェクト: nutsdo/nong-store
 /**
  * Sign on model events.
  */
 public static function bootNodeTrait()
 {
     static::saving(function ($model) {
         $model->getConnection()->beginTransaction();
         return $model->callPendingAction();
     });
     static::saved(function ($model) {
         $model->getConnection()->commit();
     });
     static::deleting(function ($model) {
         $model->getConnection()->beginTransaction();
         // We will need fresh data to delete node safely
         $model->refreshNode();
     });
     static::deleted(function ($model) {
         $model->deleteDescendants();
         $model->getConnection()->commit();
     });
     if (static::usesSoftDelete()) {
         static::restoring(function ($model) {
             $model->getConnection()->beginTransaction();
             static::$deletedAt = $model->{$model->getDeletedAtColumn()};
         });
         static::restored(function ($model) {
             $model->restoreDescendants(static::$deletedAt);
             $model->getConnection()->commit();
         });
     }
 }
コード例 #2
0
ファイル: Node.php プロジェクト: kjmtrue/laravel-nestedset
 /**
  * Sign on model events.
  */
 protected static function signOnEvents()
 {
     static::saving(function (Node $model) {
         return $model->callPendingAction();
     });
     static::deleting(function (Node $model) {
         // We will need fresh data to delete node safely
         $model->refreshNode();
     });
     static::deleted(function (Node $model) {
         $model->deleteDescendants();
     });
     if (static::usesSoftDelete()) {
         static::restoring(function (Node $model) {
             static::$deletedAt = $model->{$model->getDeletedAtColumn()};
         });
         static::restored(function (Node $model) {
             $model->restoreDescendants(static::$deletedAt);
         });
     }
 }