$string = 'User name';
$default = null;
Simply from my traits ,
self::integer()->comment($string)->defaultValue($default)
其中$ string是'word',$ default现在是'NULL'。 我从 / yiisoft / yii2 / db / 扩展了SchemaBuilderTrait。
当我,
echo self::integer()->comment($string)->defaultValue($default) ;
这让我感觉像是Alter Table User
Alter column "userid" TYPE Integer NULL.
但它应该返回结果我,
ALTER TABLE "user" ALTER COLUMN "userid" TYPE integer COMMENT "user name";
它可以在窗口 / linux 中使用PHP 5.5.9 ,但不能与 5.6.21 一起使用甚至它适用于PHP 5.6.21中的MYSQL,但不适用于相同PHP版本的PGSQL。
//我的自定义特征代码:
<?php
namespace common\models;
use Yii;
use yii\db\SchemaBuilderTrait;
trait AbstractSchemaBuilderTrait
{
use SchemaBuilderTrait;
public function many2one($table,$column,$rel_table,$rel_column,$type,$size=null,$string=null,$default=null,$act_delete=null,$act_update=null)
{
if ($type == 'integer') {
return self::integer()->comment($string)->defaultValue($default)." ,ADD CONSTRAINT fk_$table"."_$column FOREIGN KEY($column) REFERENCES $rel_table($rel_column)";
}
return self::$type($size)->comment($string)->defaultValue($default)." ,ADD CONSTRAINT fk_$table"."_$column FOREIGN KEY($column) REFERENCES $rel_table($rel_column)";
}
}
?>
任何人都可以帮忙吗?
答案 0 :(得分:1)
您可以使用
$this->addCommentOnColumn('{{%tablename}}', 'columname', 'My New Comment');