主頁 > 知識庫 > Laravel如何同時連接多個數(shù)據(jù)庫詳解

Laravel如何同時連接多個數(shù)據(jù)庫詳解

熱門標(biāo)簽:Linux服務(wù)器 科大訊飛語音識別系統(tǒng) 銀行業(yè)務(wù) 服務(wù)器配置 團(tuán)購網(wǎng)站 Mysql連接數(shù)設(shè)置 阿里云 電子圍欄

前言

上文說到thinkphp3.2同時連接兩個數(shù)據(jù)庫的文章,然后在總結(jié)下laravel同時連接

多個數(shù)據(jù)庫的實(shí)例,方便新手學(xué)習(xí),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

// 默認(rèn)連接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實(shí)例(這個model將使用mysql_test連接)

?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class Test extends Model
{
 // 數(shù)據(jù)庫'database_test'中的test表
 public $table = 'test';
 public $timestamps = false;
 protected $connection = 'mysql_test';

}

model實(shí)例(這個model將采用默認(rèn)的'mysql'連接)

?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class Test extends Model
{
 // 數(shù)據(jù)庫'database'中的test表
 public $table = 'test';
 public $timestamps = false;
 // 以下代碼可有可不、默認(rèn)連接mysql
 protected $connection = 'mysql';

}


a、這個model將采用默認(rèn)的'mysql'連接
class UserModel extends Model
{
 // 數(shù)據(jù)庫'database'中的users表
 protected $table = "users";
}

b、 

調(diào)用model實(shí)例

// 以下是調(diào)用方法
Test::get();
Test::where('id',1)->first();

DB直接連接數(shù)據(jù)庫

// 連接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();

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Laravel5.1數(shù)據(jù)庫連接、創(chuàng)建數(shù)據(jù)庫、創(chuàng)建model及創(chuàng)建控制器的方法
  • Laravel5.5 數(shù)據(jù)庫遷移:創(chuàng)建表與修改表示例
  • Laravel5.7 數(shù)據(jù)庫操作遷移的實(shí)現(xiàn)方法
  • 在Laravel5.6中使用Swoole的協(xié)程數(shù)據(jù)庫查詢
  • Laravel框架DB facade數(shù)據(jù)庫操作詳解
  • Laravel監(jiān)聽數(shù)據(jù)庫訪問,打印SQL的例子
  • Laravel框架使用monolog_mysql實(shí)現(xiàn)將系統(tǒng)日志信息保存到mysql數(shù)據(jù)庫的方法
  • PHP的Laravel框架結(jié)合MySQL與Redis數(shù)據(jù)庫的使用部署
  • Laravel框架數(shù)據(jù)庫CURD操作、連貫操作總結(jié)
  • PHP開發(fā)框架Laravel數(shù)據(jù)庫操作方法總結(jié)
  • Laravel5.1 框架數(shù)據(jù)庫操作DB運(yùn)行原生SQL的方法分析

標(biāo)簽:廣元 江蘇 棗莊 衢州 大理 衡水 蚌埠 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel如何同時連接多個數(shù)據(jù)庫詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266