/** * @param \SplSubject|Logic $subject */ protected function fillJoins($subject) { $models = $subject->getEventObject(); $modelConfig = $subject->getModelService()->getParsedModelConfig($subject->getModelName()); if (!(is_array($models) || $models instanceof ResultSetInterface)) { $models = [$models]; } $aModels = []; foreach ($models as $_k => $aclModel) { if ($aclModel instanceof AclDataModel) { $mymodel = $aclModel->getDataModel(); } else { $mymodel = $aclModel; } foreach ($modelConfig->joins as $_k => $join) { if ($join['type'] == 'lookup') { $this->fillLookup($join, $subject, $mymodel); } elseif ($join['type'] == 'static_lookup') { $this->fillStaticLookup($join, $subject, $mymodel); } } $aModels[] = $mymodel->getArrayCopy(); } if ($models instanceof ResultSetInterface) { $models->initialize($aModels); } // else // { // $models = $aModels; // } }
/** * @param \SplSubject|Logic $subject * * @throws \Exception */ public function update(\SplSubject $subject) { $models = $subject->getEventObject(); $fs = $subject->getFilesystemServiceVerify(); foreach ($models as $id => $model) { $results[$id] = $fs->deleteFile($model->document()); } return $results; }
/** * @param \SplSubject|Logic $subject * * @throws \Exception */ public function update(\SplSubject $subject) { $models = $subject->getEventObject(); if (!(is_array($models) || $models instanceof ResultSetInterface)) { $models = [$models]; } foreach ($models as $_k => $model) { if ($model instanceof AclDataModel) { $dataModel = $model->getDataModel(); } else { $dataModel = $model; } $subject->getGatewayServiceVerify()->get($dataModel->getModelName())->delete(['_id' => $dataModel->id()]); } }
/** * @param \SplSubject|Logic $subject */ public function update(\SplSubject $subject) { $model = $subject->getEventObject(); $settings = $this->getRootConfig(); if ($model->{$settings}['isdefault_field'] == 'true') { $gw = $subject->getGatewayServiceVerify()->get($model->getModelName()); $searchQuery = []; foreach ($settings['unique_fields'] as $field) { $searchQuery[$field] = $model->{$field}; } $searchQuery['-_id'] = $model->_id; $otherModels = $gw->find($searchQuery); foreach ($otherModels as $othrModel) { $othrModel->{$settings}['isdefault_field'] = 'false'; $gw->save($othrModel); } } }