Laravel 非常有用却不常用的方法记录

本篇博客记录一些 Laravel 框架一些不常用但非常实用的方法。或者一些非常有用的小技巧,可以显著提高代码的可读性。并且记录一些难以发现的技巧性的使用。

获取表结构信息

网上有很多关于 Laravel 获取表信息的文章,很多都是这样的

1
2
3
4
5
6
// 获取数据库所有表信息
DB::select('show tables')
// 获取表 column 信息
Db::select('show full columns from $table')
// 获取表信息
DB::select('show table status'))

当然这样是可以获取到的,没有任何问题,关键这样让代码看起来有点难受,其实 Laravel 提供了一系列这样的操作。下面来提供该演示:

获取所有表

1
\Illuminate\Support\Facades\DB::connection()->getDoctrineSchemaManager()->listTableNames())

获取表所有 Column 字段

1
\Illuminate\Support\Facades\Schema::getColumnListing('table'))

获取表单个字段的信息

1
2
3
4
// 获取单个字段信息
$field = \Illuminate\Support\Facades\DB::connection()->getDoctrineColumn('table', 'field_name')
$field->getComment(); // 获取注释
$field->getType(); // 获取类型

获取表信息

1
\Illuminate\Support\Facades\DB::connection()->getDoctrineSchemaManager()->listTableDetails('table')->getOptions());

数据库操作