本文整理汇总了PHP中Propel\Generator\Model\Column::isNotNull方法的典型用法代码示例。如果您正苦于以下问题:PHP Column::isNotNull方法的具体用法?PHP Column::isNotNull怎么用?PHP Column::isNotNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Propel\Generator\Model\Column
的用法示例。
在下文中一共展示了Column::isNotNull方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: compareColumns
public static function compareColumns(Column $fromColumn, Column $toColumn)
{
$changedProperties = [];
// compare column types
$fromDomain = $fromColumn->getDomain();
$toDomain = $toColumn->getDomain();
if ($fromDomain->getScale() !== $toDomain->getScale()) {
$changedProperties['scale'] = [$fromDomain->getScale(), $toDomain->getScale()];
}
if ($fromDomain->getSize() !== $toDomain->getSize()) {
$changedProperties['size'] = [$fromDomain->getSize(), $toDomain->getSize()];
}
if (strtoupper($fromDomain->getSqlType()) !== strtoupper($toDomain->getSqlType())) {
if ($fromDomain->getOriginSqlType()) {
if (strtoupper($fromDomain->getOriginSqlType()) !== strtoupper($toDomain->getSqlType())) {
if ($fromDomain->getType() !== $toDomain->getType()) {
$changedProperties['type'] = [$fromDomain->getType(), $toDomain->getType()];
}
$changedProperties['sqlType'] = [$fromDomain->getSqlType(), $toDomain->getSqlType()];
}
} else {
$changedProperties['sqlType'] = [$fromDomain->getSqlType(), $toDomain->getSqlType()];
if ($fromDomain->getType() !== $toDomain->getType()) {
$changedProperties['type'] = [$fromDomain->getType(), $toDomain->getType()];
}
}
}
if ($fromColumn->isNotNull() !== $toColumn->isNotNull()) {
$changedProperties['notNull'] = [$fromColumn->isNotNull(), $toColumn->isNotNull()];
}
// compare column default value
$fromDefaultValue = $fromColumn->getDefaultValue();
$toDefaultValue = $toColumn->getDefaultValue();
if ($fromDefaultValue && !$toDefaultValue) {
$changedProperties['defaultValueType'] = [$fromDefaultValue->getType(), null];
$changedProperties['defaultValueValue'] = [$fromDefaultValue->getValue(), null];
} elseif (!$fromDefaultValue && $toDefaultValue) {
$changedProperties['defaultValueType'] = [null, $toDefaultValue->getType()];
$changedProperties['defaultValueValue'] = [null, $toDefaultValue->getValue()];
} elseif ($fromDefaultValue && $toDefaultValue) {
if (!$fromDefaultValue->equals($toDefaultValue)) {
if ($fromDefaultValue->getType() !== $toDefaultValue->getType()) {
$changedProperties['defaultValueType'] = [$fromDefaultValue->getType(), $toDefaultValue->getType()];
}
if ($fromDefaultValue->getValue() !== $toDefaultValue->getValue()) {
$changedProperties['defaultValueValue'] = [$fromDefaultValue->getValue(), $toDefaultValue->getValue()];
}
}
}
if ($fromColumn->isAutoIncrement() !== $toColumn->isAutoIncrement()) {
$changedProperties['autoIncrement'] = [$fromColumn->isAutoIncrement(), $toColumn->isAutoIncrement()];
}
return $changedProperties;
}
示例2: addTranslatedColumnSetter
protected function addTranslatedColumnSetter(Column $column)
{
$visibility = $column->getTable()->isReadOnly() ? 'protected' : $column->getMutatorVisibility();
$typeHint = '';
$null = '';
if ($column->getTypeHint()) {
$typeHint = $column->getTypeHint();
if ('array' !== $typeHint) {
$typeHint = $this->declareClass($typeHint);
}
$typeHint .= ' ';
if (!$column->isNotNull()) {
$null = ' = null';
}
}
$typeHint = "{$typeHint}\$v{$null}";
$i18nTablePhpName = $this->builder->getClassNameFromBuilder($this->builder->getNewStubObjectBuilder($this->behavior->getI18nTable()));
$tablePhpName = $this->builder->getObjectClassName();
$objectBuilder = $this->builder->getNewObjectBuilder($this->behavior->getI18nTable());
$comment = '';
if ($this->isDateType($column->getType())) {
$objectBuilder->addTemporalMutatorComment($comment, $column);
} else {
$objectBuilder->addMutatorComment($comment, $column);
}
$comment = preg_replace('/^\\t/m', '', $comment);
$comment = str_replace('@return $this|' . $i18nTablePhpName, '@return $this|' . $tablePhpName, $comment);
return $this->renderTemplate('objectTranslatedColumnSetter', ['comment' => $comment, 'column' => $column, 'visibility' => $visibility, 'typeHint' => $typeHint, 'columnPhpName' => $column->getPhpName(), 'localeColumnName' => $this->behavior->getLocaleColumn()->getPhpName()]);
}
示例3: getColumnDDL
public function getColumnDDL(Column $col)
{
$domain = $col->getDomain();
$sqlType = $domain->getSqlType();
$notNullString = $this->getNullString($col->isNotNull());
$defaultSetting = $this->getColumnDefaultValueDDL($col);
// Special handling of TIMESTAMP/DATETIME types ...
// See: http://propel.phpdb.org/trac/ticket/538
if ($sqlType == 'DATETIME') {
$def = $domain->getDefaultValue();
if ($def && $def->isExpression()) {
// DATETIME values can only have constant expressions
$sqlType = 'TIMESTAMP';
}
} elseif ($sqlType == 'DATE') {
$def = $domain->getDefaultValue();
if ($def && $def->isExpression()) {
throw new EngineException('DATE columns cannot have default *expressions* in MySQL.');
}
} elseif ($sqlType == 'TEXT' || $sqlType == 'BLOB') {
if ($domain->getDefaultValue()) {
throw new EngineException('BLOB and TEXT columns cannot have DEFAULT values. in MySQL.');
}
}
$ddl = array($this->quoteIdentifier($col->getName()));
if ($this->hasSize($sqlType) && $col->isDefaultSqlType($this)) {
$ddl[] = $sqlType . $col->getSizeDefinition();
} else {
$ddl[] = $sqlType;
}
$colinfo = $col->getVendorInfoForType($this->getDatabaseType());
if ($colinfo->hasParameter('Charset')) {
$ddl[] = 'CHARACTER SET ' . $this->quote($colinfo->getParameter('Charset'));
}
if ($colinfo->hasParameter('Collation')) {
$ddl[] = 'COLLATE ' . $this->quote($colinfo->getParameter('Collation'));
} elseif ($colinfo->hasParameter('Collate')) {
$ddl[] = 'COLLATE ' . $this->quote($colinfo->getParameter('Collate'));
}
if ($sqlType == 'TIMESTAMP') {
if ($notNullString == '') {
$notNullString = 'NULL';
}
if ($defaultSetting == '' && $notNullString == 'NOT NULL') {
$defaultSetting = 'DEFAULT CURRENT_TIMESTAMP';
}
if ($notNullString) {
$ddl[] = $notNullString;
}
if ($defaultSetting) {
$ddl[] = $defaultSetting;
}
} else {
if ($defaultSetting) {
$ddl[] = $defaultSetting;
}
if ($notNullString) {
$ddl[] = $notNullString;
}
}
if ($autoIncrement = $col->getAutoIncrementString()) {
$ddl[] = $autoIncrement;
}
if ($col->getDescription()) {
$ddl[] = 'COMMENT ' . $this->quote($col->getDescription());
}
return implode(' ', $ddl);
}
示例4: addMutatorOpenOpen
/**
* Adds the mutator function declaration.
*
* @param string &$script
* @param Column $column
*/
public function addMutatorOpenOpen(&$script, Column $column)
{
$cfc = $column->getPhpName();
$visibility = $this->getTable()->isReadOnly() ? 'protected' : $column->getMutatorVisibility();
$typeHint = '';
$null = '';
if ($column->getTypeHint()) {
$typeHint = $column->getTypeHint();
if ('array' !== $typeHint) {
$typeHint = $this->declareClass($typeHint);
}
$typeHint .= ' ';
if (!$column->isNotNull()) {
$null = ' = null';
}
}
$script .= "\n " . $visibility . " function set{$cfc}({$typeHint}\$v{$null})\n {";
}
示例5: 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);
}
}
示例6: testSetNotNull
public function testSetNotNull()
{
$column = new Column();
$column->setNotNull(true);
$this->assertTrue($column->isNotNull());
}