Esempio n. 1
0
 private function cascadeDelete(ModelInterface $model)
 {
     $modelsManager = $model->getModelsManager();
     $hasManyRelations = $modelsManager->getHasMany($model);
     foreach ($hasManyRelations as $relation) {
         $relOptions = $relation->getOptions();
         $foreignKey = $relOptions['foreignKey'];
         if (isset($foreignKey['action']) && $foreignKey['action'] === Relation::ACTION_CASCADE) {
             $alias = $relOptions['alias'];
             $relatedModels = $model->{"get{$alias}"}();
             foreach ($relatedModels as $relModel) {
                 $relModel->delete();
             }
         }
     }
 }