class dbinfo extends Command
{
protected function configure()
{
// 指令配置
$this->setName('dbinfo')
->addOption('table',null,Option::VALUE_REQUIRED)
->setDescription('the dbinfo command');
}
protected function execute(Input $input, Output $output)
{
// 指令输出
$output->writeln('dbinfo');
$columns = \think\facade\Db::query("SELECT COLUMN_NAME, DATA_TYPE , COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = '{$input->getOption('table')}'");
$annotation = "";
foreach ($columns as $column) {
$type = 'string';
if (in_array($column['DATA_TYPE'], ['int', 'tinyint', 'smallint', 'mediumint', 'bigint'])) {
$type = 'int';
} elseif (in_array($column['DATA_TYPE'], ['float', 'double', 'decimal'])) {
$type = 'float';
}
$columnName = $column['COLUMN_NAME'];
if (in_array($columnName, ['created_at', 'updated_at', 'deleted_at'])) {
$type = '\\Carbon\\Carbon';
}
$columnComment = $column['COLUMN_COMMENT'];
$annotation .= sprintf("\n * @property %s \$%s %s", $type, $columnName, $columnComment);
}
$annotation .= "\n";
// 指令输出
$output->writeln($annotation);
}
}
tp6从mysql字段生成注解
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一. Mybatis-Plus的实体类注解 1. @TableName注解 @TableName(value = ...
- 1.字段缓存 TP框架中的模型每次获取数据库表字段都是通过SQL语句动态获取的,每使用模型执行操作都会多余执行一条...
- 可以通过生成数据表字段信息缓存,提升数据库查询的性能,避免多余的查询。命令如下: 会自动生成当前数据库配置文件中定...
- mybatis-plus忽略映射字段[https://www.cnblogs.com/jym-sunshine/p...
- mybatis:@TableField(exist=false)注解加在bean属性上,表示当前属性不是数据库的字...