主頁 > 知識庫 > Laravel獲取所有的數據庫表及結構的方法

Laravel獲取所有的數據庫表及結構的方法

熱門標簽:沛縣400電話辦理 德陽中江如何申請400開頭電話 聊城電話外呼系統公司 AI電話機器人OEM貼牌 銅川電話機器人價格 青白江地圖標注 江蘇電商外呼系統運營商 智能電話機器人好公司門薩維 辦理重慶400電話

遇到一個需求,需要修改數據庫中所有包含email的字段的表,要把里面的長度改為128位。Laravel獲取所有的表,然后循環判斷表里面有沒有email這個字段。

代碼如下:

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)

這里記一筆,比知道有沒有更好的方法一步獲取到當前連接的數據庫里面的所有的表,我是用原生的sql語句show tables查出所有表,然后取出Tables_in_new_bcc_web這一列,然后才得到所有的表名,然后再去循環。

找到一個更棒的方式:

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獲取所有的數據庫表及結構的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Laravel框架數據庫CURD操作、連貫操作總結
  • Laravel5.1數據庫連接、創建數據庫、創建model及創建控制器的方法
  • Laravel框架實現多數據庫連接操作詳解
  • Laravel如何同時連接多個數據庫詳解
  • laravel框架數據庫配置及操作數據庫示例
  • 淺談laravel數據庫查詢返回的數據形式
  • Laravel創建數據庫表結構的例子
  • laravel 操作數據庫常用函數的返回值方法
  • Laravel5.5 數據庫遷移:創建表與修改表示例
  • Laravel數據庫讀寫分離配置的方法
  • Laravel框架DB facade數據庫操作詳解

標簽:山南 鷹潭 赤峰 烏魯木齊 南寧 迪慶 三亞 濟寧

巨人網絡通訊聲明:本文標題《Laravel獲取所有的數據庫表及結構的方法》,本文關鍵詞  Laravel,獲取,所,有的,數據庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Laravel獲取所有的數據庫表及結構的方法》相關的同類信息!
  • 本頁收集關于Laravel獲取所有的數據庫表及結構的方法的相關信息資訊供網民參考!
  • 推薦文章
    2020久久精品亚洲|久久窝窝国产精品午夜看片|亚洲 日韩 激情 无码 中出|国产精品乱码高清在线