Exemplo n.º 1
0
    /**
     * Deletes all associated CustomFieldSelections
     * @return void
     */
    public function DeleteAllCustomFieldSelections()
    {
        if (is_null($this->intCustomFieldValueId)) {
            throw new QUndefinedPrimaryKeyException('Unable to call UnassociateCustomFieldSelection on this unsaved CustomFieldValue.');
        }
        // Get the Database Object for this Class
        $objDatabase = CustomFieldValue::GetDatabase();
        // Perform the SQL Query
        $objDatabase->NonQuery('
				DELETE FROM
					`custom_field_selection`
				WHERE
					`custom_field_value_id` = ' . $objDatabase->SqlVariable($this->intCustomFieldValueId) . '
			');
    }
Exemplo n.º 2
0
 public function Delete()
 {
     $arrEntityQtype = EntityQtypeCustomField::LoadArrayByCustomFieldId($this->CustomFieldId);
     parent::Delete();
     foreach ($arrEntityQtype as $objEntityQtype) {
         $strHelperTableArray = $this->GetHelperTableByEntityQtypeId($objEntityQtype->EntityQtypeId);
         $strHelperTable = $strHelperTableArray[0];
         $strTableName = $strHelperTableArray[1];
         $strQuery = sprintf("UPDATE %s SET `cfv_%s` = NULL WHERE `cfv_%s` = '%s'", $strHelperTable, $this->CustomFieldId, $this->CustomFieldId, $this->ShortDescription);
         $objDatabase = CustomFieldValue::GetDatabase();
         $objDatabase->NonQuery($strQuery);
     }
     /*		  $objCondition = QQ::Equal(QQN::CustomFieldSelection()->CustomFieldValueId, $this->CustomFieldValueId);
     			$objClauses = QQ::Clause(QQ::Expand(QQN::CustomFieldSelection()->CustomFieldValue));
     			// Select all CustomFieldSelections (and expanded CustomFieldValues) by CustomFieldValueId
     			$objCustomFieldSelectionArray = CustomFieldSelection::QueryArray($objCondition, $objClauses);
     			//parent::Delete();
     			$intRowsToDeleteArray = array();
     			// Create an array switched by helper tables (to minimize number of queries)
     			foreach ($objCustomFieldSelectionArray as $objCustomFieldSelection) {
     			  if ($this->GetHelperTableByEntityQtypeId($objCustomFieldSelection->EntityQtypeId)) {
     			    $intRowsToDeleteArray[$objCustomFieldSelection->EntityQtypeId][] = $objCustomFieldSelection->EntityId;
     			  }
     			}
     			$objDatabase = CustomFieldValue::GetDatabase();
     			// For each helper table
     			foreach (array_keys($intRowsToDeleteArray) as $intEntityQtypeId) {
     				$strHelperTableArray = $this->GetHelperTableByEntityQtypeId($intEntityQtypeId);
     				$strHelperTable = $strHelperTableArray[0];
       			$strTableName = $strHelperTableArray[1];
     				
     				$strQuery = sprintf("UPDATE %s SET `cfv_%s`='' WHERE `%s_id` IN (%s);", $strHelperTable, $objCustomFieldSelection->CustomFieldValue->CustomFieldId, $strTableName, implode(', ', $intRowsToDeleteArray[$intEntityQtypeId]));
             $objDatabase->NonQuery($strQuery);
     			}*/
 }
    /**
     * Deletes all associated CustomFieldsAsDefault
     * @return void
     */
    public function DeleteAllCustomFieldsAsDefault()
    {
        if (is_null($this->intCustomFieldValueId)) {
            throw new QUndefinedPrimaryKeyException('Unable to call UnassociateCustomFieldAsDefault on this unsaved CustomFieldValue.');
        }
        // Get the Database Object for this Class
        $objDatabase = CustomFieldValue::GetDatabase();
        // Journaling
        if ($objDatabase->JournalingDatabase) {
            foreach (CustomField::LoadArrayByDefaultCustomFieldValueId($this->intCustomFieldValueId) as $objCustomField) {
                $objCustomField->Journal('DELETE');
            }
        }
        // Perform the SQL Query
        $objDatabase->NonQuery('
				DELETE FROM
					`custom_field`
				WHERE
					`default_custom_field_value_id` = ' . $objDatabase->SqlVariable($this->intCustomFieldValueId) . '
			');
    }