论坛风格切换切换到宽版
  • 31阅读
  • 8回复

Laravel获取数据表字段注释的两种方法 [复制链接]

上一主题 下一主题
离线北斗星
 

只看楼主 倒序阅读 使用道具 楼主   发表于: 2019-03-14

通过doctrine/dbal包来实现,首先通过composer安装doctrine/dbal包:

composer require doctrine/dbal
1
接下来就简单多了,直接执行如下代码即可获得表字段注释:

// 获取整张表的详细信息
$columns = \DB::getDoctrineSchemaManager()->listTableDetails('table-name');
// 获取年龄字段的注释
$ageColumnComment = $columns->getColumn('age')->getComment();
// 获取性别字段的注释
$sexColumnComment = $columns->getColumn('sex')->getComment();
---------------------
作者:Abbotton
来源:CSDN
原文:https://blog.csdn.net/abbotton/article/details/80860353
版权声明:本文为博主原创文章,转载请附上博文链接!
离线北斗星

只看该作者 沙发   发表于: 2019-03-14
use Illuminate\Support\Facades\Schema;
use DB;

public function getDatabaseColumns() {
    $tables = DB::select('show tables');
    $tables = array_column($tables, 'Tables_in_new_bcc_web');
    $columns = ['email', 'user_name', 'nick_name', 'first_name', 'last_name'];
    // dd(Schema::getConnection());
    foreach ($tables as $key => $value) {
        foreach ($columns as $k => $v) {
            if (Schema::hasColumn($value, $v)) {
                $table[] = $value;
            };
        }
        // $columns[] = Schema::getColumnListing('users');
    }
    $table = array_unique($table);
    dd($table);
}
---------------------
作者:SHUIPING_YANG
来源:CSDN
原文:https://blog.csdn.net/zhezhebie/article/details/78589812
版权声明:本文为博主原创文章,转载请附上博文链接!
离线北斗星

只看该作者 板凳   发表于: 2019-03-14
Schema::getColumnListing('user');
Schema::hasColumn($table, $column_name)
离线北斗星

只看该作者 地板   发表于: 2019-03-14
public function getDatabaseColumns() {
    $tables = array_map('reset', \DB::select('SHOW TABLES'));
    $columns = ['email', 'user_name', 'nick_name', 'first_name', 'last_name'];
    foreach ($tables as $key => $value) {
        foreach ($columns as $k => $v) {
            if (Schema::hasColumn($value, $v)) {
                $table[] = $value;
            };
        }
    }
    $table = array_unique($table);
    dd($table);
}
离线北斗星

只看该作者 4楼  发表于: 2019-03-14
$schema = \DB::getDoctrineSchemaManager();
$columns = $schema->listTableColumns('table_name'); //get table columns
foreach ($table->getColumns() as $column) { //run loop
   $column->getName(). - .$column->getType()->getName(); //here you can define your inputes
}

$model = new ExampleModel();
$model->getConnection()->getSchemaBuilder()->getColumnListing($model->getTable());

public function getColumnsNames() {
    return (array) $this->getConnection()->getSchemaBuilder()->getColumnListing($this->getTable());
}
离线北斗星

只看该作者 5楼  发表于: 2019-03-14
$user = new User();

// 调用方法
$user->getTableColumns();


/**
  * 获取表结构
  * @return array
  */
public function getTableColumns()
{
     return $this->getConnection()->getSchemaBuilder()->getColumnListing($this->getTable());
}
离线北斗星

只看该作者 6楼  发表于: 2019-03-14
laravel 获取所有表名


$tables = DB::connection()->getDoctrineSchemaManager()->listTableNames();
离线北斗星

只看该作者 7楼  发表于: 2019-03-14
use Illuminate\Support\Facades\Schema;
2、

$columns = Schema::getColumnListing('admins');
离线北斗星

只看该作者 8楼  发表于: 2019-03-15
Laravel Schema获取数据库的表名、列名、注释信息
1、引用  use Illuminate\Support\Facades\Schema;2、$tables = Schema::getConnection()->getDoctrineSchemaManager()->listTableNames();3、$columns = Schema::getConnection()->getDoctrineSchemaManager()->listTableColumns('表名‘);4、获取表的注释:    foreach ($columns as $column) {            $comment = $column->getComment();    }

作者:程序小白菜
链接:https://www.jianshu.com/p/6119cf5e18be
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个