コード例 #1
0
 /**
  * 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);
     }
 }
コード例 #2
0
 /**
  * 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']);
         }
     }
 }