Exemple #1
0
 public function JoinAll()
 {
     $found = false;
     $sql = 'ALTER TABLE ' . pdoMap_Database_Request_Adapters_MySQL_Builder::escapeTable($this->name, $this->database) . "\n";
     foreach ($this->fields as $field) {
         if ($field->type == pdoMap_Mapping_Metadata_Field::FIELD_TYPE_FK) {
             $sql .= ' ADD CONSTRAINT ' . pdoMap_Database_Request_Adapters_MySQL_Builder::escapeEntity($this->name . '_' . $field->name) . ' FOREIGN KEY(';
             $sql .= pdoMap_Database_Request_Adapters_MySQL_Builder::escapeEntity($field->name);
             $sql .= ') REFERENCES ';
             $ref = pdoMap::structure($field->adapter);
             if (!$ref) {
                 throw new Exception('Could not join ' . $field->bind . ' to an undefined table ' . $field->adapter);
             }
             $sql .= pdoMap_Database_Request_Adapters_MySQL_Builder::escapeTable($ref->name, $ref->db);
             $sql .= ' (' . pdoMap_Database_Request_Adapters_MySQL_Builder::escapeEntity($ref->getPk()->name) . ')';
             $sql .= ' ON DELETE CASCADE, ' . "\n";
             $found = true;
         }
     }
     if (!$found) {
         return true;
     }
     $sql = substr($sql, 0, strlen($sql) - 3);
     return pdoMap::database()->Request($this->database, $sql);
 }
 public function EscapeEntity($entity)
 {
     return pdoMap_Database_Request_Adapters_MySQL_Builder::escapeEntity($entity);
 }
Exemple #3
0
 public function escapeValue($value)
 {
     return pdoMap_Database_Request_Adapters_MySQL_Builder::escapeValue($value);
 }