/** * add additional Where clause from configuration * * _ifUniqueWhereClause = TEXT * _ifUniqueWhereClause.value = AND pid = 123 * * or * * _ifUniqueWhereClause = AND pid = 123 * * @param SaveToAnyTableService $saveService * @param array $tableConfiguration * @return void */ protected function addAdditionalWhereClause(SaveToAnyTableService $saveService, array $tableConfiguration) { $whereClause = ''; if (!empty($tableConfiguration['_ifUniqueWhereClause']) && empty($tableConfiguration['_ifUniqueWhereClause.'])) { $whereClause = $tableConfiguration['_ifUniqueWhereClause']; } if (!empty($tableConfiguration['_ifUniqueWhereClause']) && !empty($tableConfiguration['_ifUniqueWhereClause.'])) { $whereClause = $this->contentObject->cObjGetSingle($tableConfiguration['_ifUniqueWhereClause'], $tableConfiguration['_ifUniqueWhereClause.']); } if (!empty($whereClause)) { $saveService->setAdditionalWhereClause($whereClause); } }
/** * Set mode and uniqueField in saveToAnyTableService * * @param SaveToAnyTableService $saveService * @param string $table * @param array $tableConfiguration * @return void */ protected function setModeInSaveService(SaveToAnyTableService $saveService, $table, array $tableConfiguration) { if (!empty($tableConfiguration['_ifUnique.'])) { $uniqueFields = array_keys($tableConfiguration['_ifUnique.']); $saveService->setMode($tableConfiguration['_ifUnique.'][$uniqueFields[0]]); $saveService->setUniqueField($uniqueFields[0]); if (!empty($conf['dbEntry.'][$table . '.']['_ifUniqueWhereClause'])) { $saveService->setAdditionalWhereClause($conf['dbEntry.'][$table . '.']['_ifUniqueWhereClause']); } } }