Laravel框架實現(xiàn)多數(shù)據(jù)庫連接操作詳解
本文實例講述了Laravel框架實現(xiàn)多數(shù)據(jù)庫連接操作。分享給大家供大家參考,具體如下:
這篇文章介紹了在laravel中連接2個數(shù)據(jù)庫的方法
一、定義連接
進入到數(shù)據(jù)庫配置文件 app/config/database.php 中,你可以定義多個形式相同或不同的數(shù)據(jù)庫連接。例如,你想從2個 MYSQL 數(shù)據(jù)中抓取資料到你的程式中,你可以這樣定義:
<?php return array( 'default' => 'mysql', 'connections' => array( # Our primary database connection 'mysql' => array( 'driver' => 'mysql', 'host' => 'host1', 'database' => 'database1', 'username' => 'user1', 'password' => 'pass1' 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), # Our secondary database connection 'mysql2' => array( 'driver' => 'mysql', 'host' => 'host2', 'database' => 'database2', 'username' => 'user2', 'password' => 'pass2' 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), ), );
默認連接任然是mysql,除非指定其他連接,如mysql2,我們的連接都是mysql連接。
2、指定連接
現(xiàn)在我們來指定mysql2連接,怎么做呢:
Schema 數(shù)據(jù)庫遷移
用 Schema facade 可以創(chuàng)建任意連接?,F(xiàn)在只需要用 connection()
方法就可以在指定的數(shù)據(jù)庫中創(chuàng)建table
Schema::connection('mysql2')->create('some_table', function($table) { $table->increments('id'): });
如果不加connection()
方法,就是在默認的數(shù)據(jù)庫中創(chuàng)建table
查詢
和上面一樣,用connection()
方法
$users = DB::connection('mysql2')->select(...);
Eloquent
在模型中指定連接數(shù)據(jù)庫方法,在模型中設(shè)置 $connection 變量
<?php class SomeModel extends Eloquent { protected $connection = 'mysql2'; }
在控制器中用 setConnection 方法也可連接指定數(shù)據(jù)庫
<?php class SomeController extends BaseController { public function someMethod() { $someModel = new SomeModel; $someModel->setConnection('mysql2'); $something = $someModel->find(1); return $something; } }
跨數(shù)據(jù)庫連接是可以的,但是也可能帶來一些問題,這取決于你的數(shù)據(jù)庫或者數(shù)據(jù)庫配置,所以要謹慎使用。
原文地址:http://fideloper.com/laravel-multiple-database-connections
更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設(shè)計有所幫助。
- Laravel框架數(shù)據(jù)庫CURD操作、連貫操作總結(jié)
- Laravel5.1數(shù)據(jù)庫連接、創(chuàng)建數(shù)據(jù)庫、創(chuàng)建model及創(chuàng)建控制器的方法
- Laravel如何同時連接多個數(shù)據(jù)庫詳解
- laravel框架數(shù)據(jù)庫配置及操作數(shù)據(jù)庫示例
- Laravel獲取所有的數(shù)據(jù)庫表及結(jié)構(gòu)的方法
- 淺談laravel數(shù)據(jù)庫查詢返回的數(shù)據(jù)形式
- Laravel創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu)的例子
- laravel 操作數(shù)據(jù)庫常用函數(shù)的返回值方法
- Laravel5.5 數(shù)據(jù)庫遷移:創(chuàng)建表與修改表示例
- Laravel數(shù)據(jù)庫讀寫分離配置的方法
- Laravel框架DB facade數(shù)據(jù)庫操作詳解
相關(guān)文章
php使用shmop函數(shù)創(chuàng)建共享內(nèi)存減少負載的方法
這篇文章主要介紹了php使用shmop函數(shù)創(chuàng)建共享內(nèi)存減少負載,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12PHP register_shutdown_function()函數(shù)的使用示例
這篇文章主要介紹了PHP register_shutdown_function()函數(shù)的使用示例,當(dāng)我們的腳本執(zhí)行完成或者意外死掉導(dǎo)致 php 執(zhí)行即將關(guān)閉時,register_shutdown_function()這個函數(shù)會被調(diào)用,需要的朋友可以參考下2015-06-06PHP 中 Orientation 屬性判斷上傳圖片是否需要旋轉(zhuǎn)
本文給大家介紹使用php技術(shù)實現(xiàn)根據(jù)上傳圖片orientation屬性判斷是否需要旋轉(zhuǎn),感興趣的朋友一起看看吧2015-10-10php ucwords() 函數(shù)將字符串中每個單詞的首字符轉(zhuǎn)換為大寫(實現(xiàn)代碼)
下面小編就為大家?guī)硪黄猵hp ucwords() 函數(shù)將字符串中每個單詞的首字符轉(zhuǎn)換為大寫(實現(xiàn)代碼)。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05eWebEditor v3.8 商業(yè)完整版 (PHP)
eWebEditor v3.8 商業(yè)完整版 (PHP)...2006-12-12PHP使用mysqli同時執(zhí)行多條sql查詢語句的實例
今天小編就為大家分享一篇關(guān)于PHP使用mysqli同時執(zhí)行多條sql查詢語句的實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03基于Laravel實現(xiàn)的用戶動態(tài)模塊開發(fā)
這篇文章主要給大家介紹了關(guān)于基于Laravel實現(xiàn)的用戶動態(tài)模塊開發(fā)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09