本文整理汇总了PHP中Propel\Generator\Model\Column::isDefaultSqlType方法的典型用法代码示例。如果您正苦于以下问题:PHP Column::isDefaultSqlType方法的具体用法?PHP Column::isDefaultSqlType怎么用?PHP Column::isDefaultSqlType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Propel\Generator\Model\Column
的用法示例。
在下文中一共展示了Column::isDefaultSqlType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getColumnDDL
public function getColumnDDL(Column $col)
{
$domain = $col->getDomain();
$ddl = array($this->quoteIdentifier($col->getName()));
$sqlType = $domain->getSqlType();
$table = $col->getTable();
if ($col->isAutoIncrement() && $table && $table->getIdMethodParameters() == null) {
$sqlType = $col->getType() === PropelTypes::BIGINT ? 'bigserial' : 'serial';
}
if ($this->hasSize($sqlType) && $col->isDefaultSqlType($this)) {
$ddl[] = $sqlType . $domain->printSize();
} else {
$ddl[] = $sqlType;
}
if ($default = $this->getColumnDefaultValueDDL($col)) {
$ddl[] = $default;
}
if ($notNull = $this->getNullString($col->isNotNull())) {
$ddl[] = $notNull;
}
if ($autoIncrement = $col->getAutoIncrementString()) {
$ddl[] = $autoIncrement;
}
return implode(' ', $ddl);
}
示例2: appendColumnNode
/**
* Appends the generated <column> XML node to its parent node.
*
* @param Column $column The Column model instance
* @param \DOMNode $parentNode The parent DOMNode object
*/
private function appendColumnNode(Column $column, \DOMNode $parentNode)
{
$columnNode = $parentNode->appendChild($this->document->createElement('column'));
$columnNode->setAttribute('name', $column->getName());
if ($phpName = $column->getPhpName()) {
$columnNode->setAttribute('phpName', $phpName);
}
$columnNode->setAttribute('type', $column->getType());
$domain = $column->getDomain();
if ($size = $domain->getSize()) {
$columnNode->setAttribute('size', $size);
}
if (null !== ($scale = $domain->getScale())) {
$columnNode->setAttribute('scale', $scale);
}
$platform = $column->getPlatform();
if ($platform && !$column->isDefaultSqlType($platform)) {
$columnNode->setAttribute('sqlType', $domain->getSqlType());
}
if ($description = $column->getDescription()) {
$columnNode->setAttribute('description', $description);
}
if ($column->isPrimaryKey()) {
$columnNode->setAttribute('primaryKey', 'true');
}
if ($column->isAutoIncrement()) {
$columnNode->setAttribute('autoIncrement', 'true');
}
if ($column->isNotNull()) {
$columnNode->setAttribute('required', 'true');
}
$defaultValue = $domain->getDefaultValue();
if ($defaultValue) {
$type = $defaultValue->isExpression() ? 'defaultExpr' : 'defaultValue';
$columnNode->setAttribute($type, $defaultValue->getValue());
}
if ($column->isInheritance()) {
$columnNode->setAttribute('inheritance', $column->getInheritanceType());
foreach ($column->getInheritanceList() as $inheritance) {
$this->appendInheritanceNode($inheritance, $columnNode);
}
}
if ($column->isNodeKey()) {
$columnNode->setAttribute('nodeKey', 'true');
if ($nodeKeySeparator = $column->getNodeKeySep()) {
$columnNode->setAttribute('nodeKeySep', $nodeKeySeparator);
}
}
foreach ($column->getVendorInformation() as $vendorInformation) {
$this->appendVendorInformationNode($vendorInformation, $columnNode);
}
}
示例3: getColumnDDL
/**
* Builds the DDL SQL for a Column object.
* @return string
*/
public function getColumnDDL(Column $col)
{
$domain = $col->getDomain();
$ddl = array($this->quoteIdentifier($col->getName()));
$sqlType = $domain->getSqlType();
if ($this->hasSize($sqlType) && $col->isDefaultSqlType($this)) {
$ddl[] = $sqlType . $col->getSizeDefinition();
} else {
$ddl[] = $sqlType;
}
if ($default = $this->getColumnDefaultValueDDL($col)) {
$ddl[] = $default;
}
if ($notNull = $this->getNullString($col->isNotNull())) {
$ddl[] = $notNull;
}
if ($autoIncrement = $col->getAutoIncrementString()) {
$ddl[] = $autoIncrement;
}
return implode(' ', $ddl);
}
示例4: testIsDefaultSqlType
public function testIsDefaultSqlType()
{
$column = new Column();
$this->assertTrue($column->isDefaultSqlType());
}