Laravel 连接多个数据库及使用方法

2020-05-07    标签:Laravel    阅读:150   


有时,我们开发项目的时候需要用到多个数据库,在thinkphp中可以使用多个数据库连接,Laravel也可以。Laravel 连接多个数据库及使用方法

配置.env 文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=shop
DB_USERNAME=root
DB_PASSWORD=root

DB_HOST_TEST=127.0.0.1
DB_PORT_TEST=3306
DB_DATABASE_TEST=picture_test
DB_USERNAME_TEST=root
DB_PASSWORD_TEST=root

配置 config/database.php

//默认
'mysql' => [
	'driver' => 'mysql',
	'url' => env('DATABASE_URL'),
	'host' => env('DB_HOST', '127.0.0.1'),
	'port' => env('DB_PORT', '3306'),
	'database' => env('DB_DATABASE', 'forge'),
	'username' => env('DB_USERNAME', 'forge'),
	'password' => env('DB_PASSWORD', ''),
	'unix_socket' => env('DB_SOCKET', ''),
	'charset' => 'utf8mb4',
	'collation' => 'utf8mb4_unicode_ci',
	'prefix' => 'lv_',
	'prefix_indexes' => true,
	'strict' => false,
	'engine' => null,
	'options' => extension_loaded('pdo_mysql') ? array_filter([
		PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
	]) : [],
],
'picture_test' => [
	'driver' => 'mysql',
	'host' => env('DB_HOST_TEST', '127.0.0.1'),
	'port' => env('DB_PORT_TEST', '3306'),
	'database' => env('DB_DATABASE_TEST', 'picture_test'),
	'username' => env('DB_USERNAME_TEST', 'root'),
	'password' => env('DB_PASSWORD_TEST', 'root'),
	'charset' => 'utf8',
	'collation' => 'utf8_unicode_ci',
	'prefix' => '',
	'strict' => false,
],

model实例(这个model将使用picture_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 = 'picture_test';
 
}

调用model实例

// 以下是调用方法
Test::get();

DB直接连接数据库

// 连接picture_test库
DB::connection('picture_test')->table('test')->where('id',1)->first();


【腾讯云】618云聚惠,百款云产品限量抢购,1核2G云服务器首年95元

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://www.tpxhm.com/adetail/322.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录

博主信息

头像

授人以鱼不如授人以渔!授人以鱼只救一时之急,授人以渔则可解一生之需!

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×