/** * Get database field definition * @params pdoMap_Mapping_Metadata_Field Field to manage * @returns array of pdoMap_Mapping_Metadata_Field */ public function getMeta(pdoMap_Mapping_Metadata_Field $field) { if ($field->type != 'Date') { throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Date'); } return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_DATE)); }
/** * Get database field definition * @params pdoMap_Mapping_Metadata_Field Field to manage * @returns array of pdoMap_Mapping_Metadata_Field */ public function getMeta(pdoMap_Mapping_Metadata_Field $field) { if ($field->type != 'Boolean') { throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Boolean'); } return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_ENUM, null, null, array('value' => array(self::TRUE_ENUM, self::FALSE_ENUM)))); }
/** * Get database field definition * @params pdoMap_Mapping_Metadata_Field Field to manage * @returns array of pdoMap_Mapping_Metadata_Field */ public function getMeta(pdoMap_Mapping_Metadata_Field $field) { if ($field->type != 'Text') { throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Text'); } return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_TEXT, null, null, array('size' => null))); }
/** * Get database field definition * @params pdoMap_Mapping_Metadata_Field Field to manage * @returns array of pdoMap_Mapping_Metadata_Field */ public function getMeta(pdoMap_Mapping_Metadata_Field $field) { if ($field->type != 'Char') { throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Char'); } if (!$field->getOption('size')) { throw new pdoMap_Database_Fields_Exceptions_ExpectedOption($field, 'size'); } return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_TEXT)); }
/** * Get database field definition * @params pdoMap_Mapping_Metadata_Field Field to manage * @returns array of pdoMap_Mapping_Metadata_Field */ public function getMeta(pdoMap_Mapping_Metadata_Field $field) { if ($field->type != 'Enum') { throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Enum'); } if (!$field->getOption('value')) { throw new pdoMap_Database_Fields_Exceptions_ExpectedOption($field, 'value'); } if (!is_array($field->getOption('value'))) { throw new pdoMap_Database_Fields_Exceptions_BadOption($field, 'value'); } return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_ENUM)); }
/** * Get database field definition * @params pdoMap_Mapping_Metadata_Field Field to manage * @returns array of pdoMap_Mapping_Metadata_Field * @throw pdoMap_Database_Fields_Exceptions_BadType */ public function getMeta(pdoMap_Mapping_Metadata_Field $field) { if ($field->type != 'Integer') { throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Integer'); } if (!$field->getOption('size')) { $field->setOption('size', self::DEFAULT_SIZE); } if (!in_array($field->getOption('size'), self::$SIZE_LIST)) { throw new pdoMap_Database_Fields_Exceptions_BadOption($field, 'size'); } return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_INT)); }
/** * Get database field definition * @params pdoMap_Mapping_Metadata_Field Field to manage * @returns array of pdoMap_Mapping_Metadata_Field */ public function getMeta(pdoMap_Mapping_Metadata_Field $field) { if ($field->type != 'Foreign') { throw new pdoMap_Database_Fields_Exceptions_BadType($field, 'Foreign'); } // CHECK ADAPTER if (!$field->getOption('adapter')) { throw new pdoMap_Database_Fields_Exceptions_ExpectedOption($field, 'adapter'); } // TRY ADAPTER pdoMap::config()->mapping($field->getOption('adapter')); // RETURN FK return array(pdoMap_Mapping_Metadata_Field::duplicate($field, pdoMap_Mapping_Metadata_Field::FIELD_TYPE_FK)); }