本文整理汇总了PHP中DBManager::massageFieldDef方法的典型用法代码示例。如果您正苦于以下问题:PHP DBManager::massageFieldDef方法的具体用法?PHP DBManager::massageFieldDef怎么用?PHP DBManager::massageFieldDef使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DBManager
的用法示例。
在下文中一共展示了DBManager::massageFieldDef方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: massageFieldDef
/**
* @see DBManager::massageFieldDef()
*/
public function massageFieldDef(&$fieldDef, $tablename)
{
parent::massageFieldDef($fieldDef, $tablename);
if ($fieldDef['type'] == 'int') {
$fieldDef['len'] = '4';
}
if (empty($fieldDef['len'])) {
switch ($fieldDef['type']) {
case 'bit':
case 'bool':
$fieldDef['len'] = '1';
break;
case 'smallint':
$fieldDef['len'] = '2';
break;
case 'float':
$fieldDef['len'] = '8';
break;
case 'varchar':
case 'nvarchar':
$fieldDef['len'] = $this->isTextType($fieldDef['dbType']) ? 'max' : '255';
break;
case 'image':
$fieldDef['len'] = '2147483647';
break;
case 'ntext':
$fieldDef['len'] = '2147483646';
break;
// Note: this is from legacy code, don't know if this is correct
}
}
if ($fieldDef['type'] == 'decimal' && empty($fieldDef['precision']) && !strpos($fieldDef['len'], ',')) {
$fieldDef['len'] .= ',0';
// Adding 0 precision if it is not specified
}
if (empty($fieldDef['default']) && in_array($fieldDef['type'], array('bit', 'bool'))) {
$fieldDef['default'] = '0';
}
if (isset($fieldDef['required']) && $fieldDef['required'] && !isset($fieldDef['default'])) {
$fieldDef['default'] = '';
}
// if ($fieldDef['type'] == 'bit' && empty($fieldDef['len']) )
// $fieldDef['len'] = '1';
// if ($fieldDef['type'] == 'bool' && empty($fieldDef['len']) )
// $fieldDef['len'] = '1';
// if ($fieldDef['type'] == 'float' && empty($fieldDef['len']) )
// $fieldDef['len'] = '8';
// if ($fieldDef['type'] == 'varchar' && empty($fieldDef['len']) )
// $fieldDef['len'] = '255';
// if ($fieldDef['type'] == 'nvarchar' && empty($fieldDef['len']) )
// $fieldDef['len'] = '255';
// if ($fieldDef['type'] == 'image' && empty($fieldDef['len']) )
// $fieldDef['len'] = '2147483647';
// if ($fieldDef['type'] == 'ntext' && empty($fieldDef['len']) )
// $fieldDef['len'] = '2147483646';
// if ($fieldDef['type'] == 'smallint' && empty($fieldDef['len']) )
// $fieldDef['len'] = '2';
// if ($fieldDef['type'] == 'bit' && empty($fieldDef['default']) )
// $fieldDef['default'] = '0';
// if ($fieldDef['type'] == 'bool' && empty($fieldDef['default']) )
// $fieldDef['default'] = '0';
}
示例2: massageFieldDef
/**
* @see DBManager::massageFieldDef()
*/
public function massageFieldDef(&$fieldDef, $tablename)
{
parent::massageFieldDef($fieldDef, $tablename);
switch ($fieldDef['type']) {
case 'integer':
$fieldDef['len'] = '4';
break;
case 'smallint':
$fieldDef['len'] = '2';
break;
case 'bigint':
$fieldDef['len'] = '8';
break;
case 'double':
$fieldDef['len'] = '8';
break;
case 'time':
$fieldDef['len'] = '3';
break;
case 'varchar':
if (empty($fieldDef['len'])) {
$fieldDef['len'] = '255';
}
break;
case 'decimal':
if (empty($fieldDef['precision']) && !strpos($fieldDef['len'], ',')) {
$fieldDef['len'] .= ',0';
}
// Adding 0 precision if it is not specified
break;
}
// IBM DB2 requires default value for NOT NULL fields
if (!empty($fieldDef['required']) && empty($fieldDef['default'])) {
switch ($fieldDef['type']) {
case 'integer':
case 'smallint':
case 'bigint':
case 'float':
case 'double':
case 'decimal':
$fieldDef['default'] = 0;
break;
default:
$fieldDef['default'] = '';
}
}
if (empty($fieldDef['isnull'])) {
$fieldDef['isnull'] = 'false';
}
//
// if ($fieldDef['type'] == 'int')
// $fieldDef['len'] = '4';
// if ($fieldDef['type'] == 'bit' && empty($fieldDef['len']) )
// $fieldDef['len'] = '1';
// if ($fieldDef['type'] == 'bool' && empty($fieldDef['len']) )
// $fieldDef['len'] = '1';
// if ($fieldDef['type'] == 'float' && empty($fieldDef['len']) )
// $fieldDef['len'] = '8';
// if ($fieldDef['type'] == 'varchar' && empty($fieldDef['len']) )
// $fieldDef['len'] = '255';
// if ($fieldDef['type'] == 'nvarchar' && empty($fieldDef['len']) )
// $fieldDef['len'] = '255';
// if ($fieldDef['type'] == 'bit' && empty($fieldDef['default']) )
// $fieldDef['default'] = '0';
// if ($fieldDef['type'] == 'bool' && empty($fieldDef['default']) )
// $fieldDef['default'] = '0';
// if ($fieldDef['type'] == 'image' && empty($fieldDef['len']) )
// $fieldDef['len'] = '2147483647';
// if ($fieldDef['type'] == 'ntext' && empty($fieldDef['len']) )
// $fieldDef['len'] = '2147483646';
// if ($fieldDef['type'] == 'smallint' && empty($fieldDef['len']) )
// $fieldDef['len'] = '2';
// if (isset($fieldDef['required']) && $fieldDef['required'] && !isset($fieldDef['default']) )
// $fieldDef['default'] = '';
// if ( isset($fieldDef['default']) &&
// ($fieldDef['dbType'] == 'text'
// || $fieldDef['dbType'] == 'blob'
// || $fieldDef['dbType'] == 'longtext'
// || $fieldDef['dbType'] == 'longblob' ))
// unset($fieldDef['default']);
// if ($fieldDef['dbType'] == 'uint')
// $fieldDef['len'] = '10';
// if ($fieldDef['dbType'] == 'ulong')
// $fieldDef['len'] = '20';
// if ($fieldDef['dbType'] == 'bool')
// $fieldDef['type'] = 'tinyint';
// if ($fieldDef['dbType'] == 'bool' && empty($fieldDef['default']) )
// $fieldDef['default'] = '0';
// if (($fieldDef['dbType'] == 'varchar' || $fieldDef['dbType'] == 'enum') && empty($fieldDef['len']) )
// $fieldDef['len'] = '255';
// if ($fieldDef['dbType'] == 'uint')
// $fieldDef['len'] = '10';
// if ($fieldDef['dbType'] == 'int' && empty($fieldDef['len']) )
// $fieldDef['len'] = '11';
}
示例3: massageFieldDef
/**
* @see DBManager::massageFieldDef()
*/
public function massageFieldDef(&$fieldDef, $tablename)
{
parent::massageFieldDef($fieldDef, $tablename);
if (isset($fieldDef['default']) && ($fieldDef['dbType'] == 'text' || $fieldDef['dbType'] == 'blob' || $fieldDef['dbType'] == 'longtext' || $fieldDef['dbType'] == 'longblob')) {
unset($fieldDef['default']);
}
if ($fieldDef['dbType'] == 'uint') {
$fieldDef['len'] = '10';
}
if ($fieldDef['dbType'] == 'ulong') {
$fieldDef['len'] = '20';
}
if ($fieldDef['dbType'] == 'bool') {
$fieldDef['type'] = 'tinyint';
}
if ($fieldDef['dbType'] == 'bool' && empty($fieldDef['default'])) {
$fieldDef['default'] = '0';
}
if (($fieldDef['dbType'] == 'varchar' || $fieldDef['dbType'] == 'enum') && empty($fieldDef['len'])) {
$fieldDef['len'] = '255';
}
if ($fieldDef['dbType'] == 'uint') {
$fieldDef['len'] = '10';
}
if ($fieldDef['dbType'] == 'int' && empty($fieldDef['len'])) {
$fieldDef['len'] = '11';
}
if ($fieldDef['dbType'] == 'decimal') {
if (isset($fieldDef['len'])) {
if (strstr($fieldDef['len'], ",") === false) {
$fieldDef['len'] .= ",0";
}
} else {
$fieldDef['len'] = '10,0';
}
}
}
示例4: massageFieldDef
/**
* @see DBManager::massageFieldDef()
*/
public function massageFieldDef(&$fieldDef, $tablename)
{
parent::massageFieldDef($fieldDef, $tablename);
if ($fieldDef['name'] == 'id') {
$fieldDef['required'] = 'true';
}
if ($fieldDef['dbType'] == 'decimal') {
$fieldDef['len'] = '20,2';
}
if ($fieldDef['dbType'] == 'decimal2') {
$fieldDef['len'] = '30,6';
}
if ($fieldDef['dbType'] == 'double') {
$fieldDef['len'] = '30,10';
}
if ($fieldDef['dbType'] == 'float') {
$fieldDef['len'] = '30,6';
}
if ($fieldDef['dbType'] == 'uint') {
$fieldDef['len'] = '15';
}
if ($fieldDef['dbType'] == 'ulong') {
$fieldDef['len'] = '38';
}
if ($fieldDef['dbType'] == 'long') {
$fieldDef['len'] = '38';
}
if ($fieldDef['dbType'] == 'bool') {
$fieldDef['len'] = '1';
}
if ($fieldDef['dbType'] == 'id') {
$fieldDef['len'] = '36';
}
if ($fieldDef['dbType'] == 'currency') {
$fieldDef['len'] = '26,6';
}
if ($fieldDef['dbType'] == 'short') {
$fieldDef['len'] = '3';
}
if ($fieldDef['dbType'] == 'tinyint') {
$fieldDef['len'] = '3';
}
if ($fieldDef['dbType'] == 'int') {
$fieldDef['len'] = '3';
}
if ($fieldDef['type'] == 'int' && empty($fieldDef['len'])) {
$fieldDef['len'] = '';
}
if ($fieldDef['dbType'] == 'enum' && empty($fieldDef['len'])) {
$fieldDef['len'] = '255';
}
if ($fieldDef['type'] == 'varchar2' && empty($fieldDef['len'])) {
$fieldDef['len'] = '255';
}
}