laravel数据库配置(Laravel如何同时连接多个数据库详解)
类别:编程学习 浏览量:529
时间:2021-10-30 10:57:40 laravel数据库配置
Laravel如何同时连接多个数据库详解前言
上文说到thinkphp3.2同时连接两个数据库的文章,然后在总结下laravel同时连接
多个数据库的实例,方便新手学习,db连接以及model连接。
配置.env 文件
|
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database_name DB_USERNAME=root DB_PASSWORD=root DB_HOST_TEST=127.0.0.1 DB_PORT_TEST=3306 DB_DATABASE_TEST=database_test DB_USERNAME_TEST=root DB_PASSWORD_TEST=root |
配置 config/database.php
|
// 默认连接mysql 'default' => env( 'DB_CONNECTION' , 'mysql' ), 'connections' => [ 'sqlite' => [ 'driver' => 'sqlite' , 'database' => database_path( 'database.sqlite' ), 'prefix' => '' , ], 'mysql' => [ 'driver' => 'mysql' , 'host' => env( 'DB_HOST' , '127.0.0.1' ), 'port' => env( 'DB_PORT' , '3306' ), 'database' => env( 'DB_DATABASE' , 'database_name' ), 'username' => env( 'DB_USERNAME' , 'root' ), 'password' => env( 'DB_PASSWORD' , 'root' ), 'charset' => 'utf8' , 'collation' => 'utf8_unicode_ci' , 'prefix' => '' , 'strict' => false, ], 'mysql_test' => [ 'driver' => 'mysql' , 'host' => env( 'DB_HOST_TEST' , '127.0.0.1' ), 'port' => env( 'DB_PORT_TEST' , '3306' ), 'database' => env( 'DB_DATABASE_TEST' , 'database_test' ), 'username' => env( 'DB_USERNAME_TEST' , 'root' ), 'password' => env( 'DB_PASSWORD_TEST' , 'root' ), 'charset' => 'utf8' , 'collation' => 'utf8_unicode_ci' , 'prefix' => '' , 'strict' => false, ], ], |
model实例(这个model将使用mysql_test连接)
|
<?php namespace App\Model; use Illuminate\Database\Eloquent\Model; class Test extends Model { // 数据库'database_test'中的test表 public $table = 'test' ; public $timestamps = false; protected $connection = 'mysql_test' ; } |
model实例(这个model将采用默认的'mysql'连接)
|
<?php namespace App\Model; use Illuminate\Database\Eloquent\Model; class Test extends Model { // 数据库'database'中的test表 public $table = 'test' ; public $timestamps = false; // 以下代码可有可不、默认连接mysql protected $connection = 'mysql' ; } a、这个model将采用默认的 'mysql' 连接 class UserModel extends Model { // 数据库'database'中的users表 protected $table = "users" ; } b、 |
调用model实例
|
// 以下是调用方法 Test::get(); Test::where( 'id' ,1)->first(); |
DB直接连接数据库
|
// 连接mysql_test库 DB::connection( 'mysql_test' )->table( 'test' )->where( 'id' ,1)->first(); // 连接mysql库 DB::connection( 'mysq' )->table( 'test' )->where( 'id' ,1)->first(); // 连接mysql库 DB::table( 'test' )->where( 'id' ,1)->first(); |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。
原文链接:https://juejin.im/post/5d424833518825221b4cbdd2
您可能感兴趣
- 修改sqlserver数据库名称步骤(SQL server数据库创建代码 filegroup文件组修改的示例代码)
- sql server数据库备份计划(SQL Server数据库设置自动备份策略的完整步骤)
- 数据库docker技术(总结Docker不适合部署数据库的7大原因)
- 如何用xampp新建数据库(Windows系统下XAMPP的安装配置图文教程)
- html5能取数据库吗(HTML5 客户端数据库简易使用:IndexedDB)
- mpp数据库的客户端工具(xampp默认mysql数据库root密码的修改)
- oracle和mysql查询所有表(Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍)
- mysql的innodb设置(修改MySQL数据库引擎为InnoDB的操作)
- mysql数据结构讲解(详解MySQL 数据库隔离级别与MVCC)
- sql server日志备份查看(sql server数据库高可用日志传送的方法)
- python在mysql创建数据库(python3对接mysql数据库实例详解)
- 支持多种数据库的数据库管理工具:navicat premium
- sql数据库语言的两种使用方式(通过使用正确的search arguments来提高SQL Server数据库的性能)
- yii数据库测评(Yii2.0框架behaviors方法使用实例分析)
- python pandas读取数据库表(Python3.5 Pandas模块之DataFrame用法实例分析)
- SQL SERVER获取指定数据库中所有存储过程的参数
- 《满江红》不要只当电影看,学生应该这样做(满江红不要只当电影看)
- 电影《民间怪谈录之走阴人》定档8月5日,开启一场中式惊悚之旅(电影民间怪谈录之走阴人定档8月5日)
- 原创图画书,以儿童视角讲述中国故事(以儿童视角讲述中国故事)
- 八月再见 愿你岁月不扰,余生静好(八月再见愿你岁月不扰)
- 赏读 八月再见,九月你好(赏读八月再见九月你好)
- 散文 八月再见,九月,我在风中等你(散文八月再见九月)
热门推荐
- nginx跨域怎么用(如何利用map实现Nginx允许多个域名跨域)
- centos 测试环境搭建(centos7下安装并配置supervisor守护程序的操作方法)
- dedecms频道封面不能修改内容(DEDECMS内容页分页过多、过长问题最佳解决方案)
- ubuntu20.04开启ssh(详解Ubuntu20.04用Xshell通过SSH连接报错的服务问题)
- python语句for循环(Python基础之循环语句用法示例for、while循环)
- Thread.Sleep与Task.Delay的区别
- sql性能优化案例(SQL性能优化之定位网络性能问题的方法DEMO)
- vue中的ref(Vue3.0中Ref与Reactive的区别示例详析)
- C#中默认参数
- python中dict怎么创建(Python数据类型之Dict字典实例详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9