Laravel獲取所有的數(shù)據(jù)庫表及結(jié)構(gòu)的方法
遇到一個(gè)需求,需要修改數(shù)據(jù)庫中所有包含email的字段的表,要把里面的長(zhǎng)度改為128位。Laravel獲取所有的表,然后循環(huán)判斷表里面有沒有email這個(gè)字段。
代碼如下:
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); }
Schema::getColumnListing('user'); Schema::hasColumn($table, $column_name)
這里記一筆,比知道有沒有更好的方法一步獲取到當(dāng)前連接的數(shù)據(jù)庫里面的所有的表,我是用原生的sql語句show tables查出所有表,然后取出Tables_in_new_bcc_web這一列,然后才得到所有的表名,然后再去循環(huán)。
找到一個(gè)更棒的方式:
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); }
以上這篇Laravel獲取所有的數(shù)據(jù)庫表及結(jié)構(gòu)的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Laravel框架數(shù)據(jù)庫CURD操作、連貫操作總結(jié)
- Laravel5.1數(shù)據(jù)庫連接、創(chuàng)建數(shù)據(jù)庫、創(chuàng)建model及創(chuàng)建控制器的方法
- Laravel框架實(shí)現(xiàn)多數(shù)據(jù)庫連接操作詳解
- Laravel如何同時(shí)連接多個(gè)數(shù)據(jù)庫詳解
- laravel框架數(shù)據(jù)庫配置及操作數(shù)據(jù)庫示例
- 淺談laravel數(shù)據(jù)庫查詢返回的數(shù)據(jù)形式
- Laravel創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu)的例子
- laravel 操作數(shù)據(jù)庫常用函數(shù)的返回值方法
- Laravel5.5 數(shù)據(jù)庫遷移:創(chuàng)建表與修改表示例
- Laravel數(shù)據(jù)庫讀寫分離配置的方法
- Laravel框架DB facade數(shù)據(jù)庫操作詳解
相關(guān)文章
php設(shè)計(jì)模式之迭代器模式實(shí)例分析【星際爭(zhēng)霸游戲案例】
這篇文章主要介紹了php設(shè)計(jì)模式之迭代器模式,結(jié)合星際爭(zhēng)霸游戲案例形式分析了PHP迭代器模式相關(guān)原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04iis 7下安裝laravel 5.4環(huán)境的方法教程
最近想嘗試體驗(yàn)下laravel框架,所以自己嘗試在iis 7下安裝laravel 5.4環(huán)境,雖然遇到些問題,但最終都解決了,所以下面這篇文章主要給大家介紹了在iis 7下安裝laravel 5.4環(huán)境的方法教程,需要的朋友可以參考下。2017-06-06PHP長(zhǎng)網(wǎng)址與短網(wǎng)址的實(shí)現(xiàn)方法
這篇文章主要介紹了PHP長(zhǎng)網(wǎng)址與短網(wǎng)址的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-10-10詳解PHP如何更好的利用PHPstorm的自動(dòng)提示
本篇文章主要介紹了詳解PHP如何更好的利用PHPstorm的自動(dòng)提示,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08PHP設(shè)計(jì)模式之?dāng)?shù)據(jù)訪問對(duì)象模式(DAO)原理與用法實(shí)例分析
這篇文章主要介紹了PHP設(shè)計(jì)模式之?dāng)?shù)據(jù)訪問對(duì)象模式(DAO)原理與用法,結(jié)合實(shí)例形式分析了PHP數(shù)據(jù)訪問對(duì)象模式的概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2019-12-12淺談thinkphp的nginx配置,以及重寫隱藏index.php入口文件方法
今天小編就為大家分享一篇淺談thinkphp的nginx配置,以及重寫隱藏index.php入口文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10