Laravel获取所有的数据库表及结构的方法


Posted in PHP onOctober 10, 2019

遇到一个需求,需要修改数据库中所有包含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获取所有的数据库表及结构的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php+oracle 分页类
Oct 09 PHP
phpMyadmin 用户权限中英对照
Apr 02 PHP
PHP防CC攻击实现代码
Dec 29 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
php实现图片添加水印功能
Feb 13 PHP
探寻PHP脚本不报错的原因
Jun 12 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
php商品对比功能代码分享
Sep 24 PHP
Yii2前后台分离及migrate使用(七)
May 04 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 PHP
Laravel 数据库加密及数据库表前缀配置方法
Oct 10 #PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 #PHP
php获取微信openid方法总结
Oct 10 #PHP
phpinfo的知识点总结
Oct 10 #PHP
phpfpm的作用和用法
Oct 10 #PHP
在laravel中实现事务回滚的方法
Oct 10 #PHP
laravel Model 执行事务的实现
Oct 10 #PHP
You might like
利用PHP动态生成VRML网页
2006/10/09 PHP
PHP 获取目录下的图片并随机显示的代码
2009/12/28 PHP
PHP中的string类型使用说明
2010/07/27 PHP
.htaccess文件保护实例讲解
2011/02/06 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
学习php开源项目的源码指南
2014/12/21 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP $O00OO0=urldecode & eval 解密,记一次商业源码的去后门
2020/09/13 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
python为tornado添加recaptcha验证码功能
2014/02/26 Python
python中函数传参详解
2016/07/03 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
机电一体化专业应届本科生求职信
2013/09/27 职场文书
管理科学大学生求职信
2013/11/13 职场文书
英语分层教学实施方案
2014/06/15 职场文书
敬老月活动总结
2014/08/28 职场文书
我为党旗添光彩演讲稿
2014/09/10 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
旷工检讨书1000字
2015/01/01 职场文书
谢师宴家长致辞
2015/07/27 职场文书
Mysql数据库group by原理详解
2022/07/07 MySQL