Laravel获取所有的数据库表及结构的方法_php实例_脚本之家

use IlluminateSupportFacadesSchema;use DB;public function getDatabaseColumns() { $tables = DB::select; $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  { if (Schema::hasColumn { $table[] = $value; }; } // $columns[] = Schema::getColumnListing; } $table = array_unique;}

Schema::getColumnListing;Schema::hasColumn

这里记一笔,比知道有没有更好的方法一步获取到当前连接的数据库里面的所有的表,我是用原生的sql语句show
tables查出所有表,然后取出Tables_in_new_bcc_web这一列,然后才得到所有的表名,然后再去循环。

以上这篇Laravel获取所有的数据库表及结构的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

找到一个更棒的方式:

遇到一个需求,需要修改数据库中所有包含email的字段的表,要把里面的长度改为128位。Laravel获取所有的表,然后循环判断表里面有没有email这个字段。

public function getDatabaseColumns() { $tables = array_map('reset', DB::select; $columns = ['email', 'user_name', 'nick_name', 'first_name', 'last_name']; foreach ($tables as $key => $value) { foreach  { if (Schema::hasColumn { $table[] = $value; }; } } $table = array_unique;}

相关文章

发表评论