Laravel 中获取数据表和字段信息?

Laravel5 中有没有函数或方法可以直接获取数据表和字段信息?

不想每次都写个函数执行SQL

show columns from table

希望用过的人,帮我下,谢谢!

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6
Summer

此方法 Laravel 4 和 Laravel 5 都能用

$columns = Schema::getColumnListing('users');
dd($columns);

注意 Namespace

use Illuminate\Support\Facades\Schema;
9年前 评论
ayjl_211314 1年前
Summer

此方法 Laravel 4 和 Laravel 5 都能用

$columns = Schema::getColumnListing('users');
dd($columns);

注意 Namespace

use Illuminate\Support\Facades\Schema;
9年前 评论
ayjl_211314 1年前

我还想获取字段类型,字段长度,默认值,是否为空等等所有信息,如果快速查出来呢。

4年前 评论

这是我发现的代码最少的一个方法了

    $tables = Schema::getColumnListing($table_name);
    $obj = \DB::connection()->getDoctrineSchemaManager()
           ->listTableDetails($table_name);
    foreach ($tables as $value) {
       $dataType[] = $obj->getColumn($value);
    }

但是检测出来的数据,tinyInteger变成了boolean,longtext等统一变成了text.不是想要的结果

4年前 评论
$obj = \Illuminate\Support\Facades\DB::connection()->getDoctrineSchemaManager()->listTableDetails("customer_service_messages")->getColumns();

foreach ($obj as $k => $v){
       echo $k . " => " .$v->getType()->getName();
       echo PHP_EOL;
 }
3年前 评论
$results = DB::select('select column_name,data_type from information_schema.columns where table_name= ?', [$tableName]);
3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!