美文网首页
tp6从mysql字段生成注解

tp6从mysql字段生成注解

作者: 耍帅oldboy | 来源:发表于2023-04-07 03:08 被阅读0次
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);
    }
}

相关文章

  • Lombok介绍

    1. @Getter/@Setter 为字段生成Getter和Setter方法,可以注解到字段或者类上(注解在类上...

  • 编译期注解学习六- 生成java文件javapoet

    1 生成文件方式 编译期注解通过读取注解,然后处理注解字段Element,最终的目的是在编译代码之前生成所需源码文...

  • Lombok注解

    lombok版本:1.18.2 注解 @AllArgsConstructor 作用 生成包含所有字段的构造器 参数...

  • Android 使用ButterKnife

    通过使用注解进行生成样板代码来完成Android view字段和方法的绑定。*在字段上使用@BindView消除f...

  • 注解 @RequiredArgsConstructor

    注解 @RequiredArgsConstructor 生成带有必需参数的[构造函数]。 必需的参数是最终字段和具...

  • Kotlin常用注解参数解析

    JvmField (用来修饰属性)使用jvmField注解,使得Kotlin编译器不再对属性字段生成getter/...

  • jeesite动态表名配置

    1、基于注解 在注解@Table中的name字段配置${tfix},然后在当前实体中新建一个属性tfix生成get...

  • ButterKnife 注解的使用

    介绍: 用于Android Views的字段和方法的绑定,它使用注解的方式为你生成代码样板 通过在字段上使用@Bi...

  • 【JAVA注解】- 自定义注解的一个Demo

    自定义注解的一个Demo 表名注解 字段约束 字段类型 字段类型 自定义注解的使用 解析注解 输出

  • golang自动生成model结构体

    Modeltools GO语言连接Mysql生成对应的model,包括对应字段类型、注释等。生成基础的结构体,不局...

网友评论

      本文标题:tp6从mysql字段生成注解

      本文链接:https://www.haomeiwen.com/subject/snccddtx.html