laravel数据库查询(Laravel获取所有的数据库表及结构的方法)
类别:编程学习 浏览量:771
时间:2021-10-07 00:40:12 laravel数据库查询
Laravel获取所有的数据库表及结构的方法遇到一个需求,需要修改数据库中所有包含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获取所有的数据库表及结构的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/zhezhebie/article/details/78589812
您可能感兴趣
- laravel图文分离(laravel实现前后台路由分离的方法)
- laravel框架学习心得教程(Laravel5.7 Eloquent ORM快速入门详解)
- laravel关联查询限制数量(laravel-admin 后台表格筛选设置默认的查询日期方法)
- laravel判断变量为空(Laravel模糊查询区分大小写的实例)
- laravel框架知识点(Laravel 不同生产环境服务器的判断实践)
- laravel框架少见方法详解(laravel 配置路由 api和web定义的路由的区别详解)
- laravel高级用法(Laravel5.1框架注册中间件的三种场景详解)
- laravel队列过期时间(laravel 修改记住我功能的cookie保存时间的方法)
- laravel数据表配置(laravel实现按月或天或小时统计mysql数据的方法)
- laravel指定管理员(在laravel-admin中列表中禁止某行编辑、删除的方法)
- laravel初始化(Laravel 登录后清空COOKIE的操作方法)
- laravelblade界面(laravel5.1框架基础之Blade模板继承简单使用方法分析)
- laravel自定义使用方法(laravel 修改.htaccess文件 重定向public的解决方法)
- laravel5.1获取数据(laravel5表单唯一验证的实例代码)
- laravel模型获取表名(Laravel 对某一列进行筛选然后求和sum的例子)
- laravel常用的辅助函数介绍(Laravel向公共模板赋值方法总结)
- 小米Watch S1评测 或许能成为小米冲击高端可穿戴设备的里程碑(小米WatchS1评测或许能成为小米冲击高端可穿戴设备的里程碑)
- 手机QQ与小米路由器在一起 明天揭晓,敬请期待(手机QQ与小米路由器在一起)
- 小米音乐与 QQ 音乐合作,便捷迁移会员(小米音乐与QQ音乐合作)
- 小米推出米兔儿童电话手表奥特曼版,799 元,支持微信 QQ(小米推出米兔儿童电话手表奥特曼版)
- 贾怀胤唱《白龙马》 炸场 了 没想到京剧还能这么玩(贾怀胤唱白龙马)
- 白龙马的改编学生版,快来看看(白龙马的改编学生版)
热门推荐
- css制作旋转小球(css实现毛毛虫爬行动作)
- docker rabbitmq集群部署(Docker部署rabbitmq遇到的两个问题)
- python支持面向对象的程序设计(Python面向对象程序设计之类的定义与继承简单示例)
- laravel零基础(基于laravel Request的所有方法详解)
- sql server中PageLatch和PageIOLatch等待
- python最简单实例(Python文件打开方式实例详解a、a+、r+、w+区别)
- python中字符串常用函数或方法(Python3.5字符串常用操作实例详解)
- centos7.5安装mysql教程(CentOS8下MySQL 8.0安装部署的方法)
- apachephp安装配置教程交流(Apache中利用mod_rewrite实现防盗链)
- win7iis搭建web服务器(如何搭建云服务器之IIS的配置)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9