佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Laravel框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接操作詳解

Laravel框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接操作詳解

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

本文實(shí)例講述了Laravel框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接操作。分享給大家供大家參考,具體如下:

這篇文章介紹了在laravel中連接2個(gè)數(shù)據(jù)庫(kù)的方法

一、定義連接

進(jìn)入到數(shù)據(jù)庫(kù)配置文件 app/config/database.php 中,你可以定義多個(gè)形式相同或不同的數(shù)據(jù)庫(kù)連接。例如,你想從2個(gè) 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'  => '',
    ),
  ),
);

默認(rèn)連接任然是mysql,除非指定其他連接,如mysql2,我們的連接都是mysql連接。

2、指定連接

現(xiàn)在我們來(lái)指定mysql2連接,怎么做呢:

Schema 數(shù)據(jù)庫(kù)遷移

用 Schema facade 可以創(chuàng)建任意連接?,F(xiàn)在只需要用 connection() 方法就可以在指定的數(shù)據(jù)庫(kù)中創(chuàng)建table

Schema::connection('mysql2')->create('some_table', function($table)
{
  $table->increments('id'):
});

如果不加connection() 方法,就是在默認(rèn)的數(shù)據(jù)庫(kù)中創(chuàng)建table

查詢

和上面一樣,用connection()方法

$users = DB::connection('mysql2')->select(...);

Eloquent

在模型中指定連接數(shù)據(jù)庫(kù)方法,在模型中設(shè)置 $connection 變量

?php
class SomeModel extends Eloquent {
  protected $connection = 'mysql2';
}

在控制器中用 setConnection 方法也可連接指定數(shù)據(jù)庫(kù)

?php
class SomeController extends BaseController {
  public function someMethod()
  {
    $someModel = new SomeModel;
    $someModel->setConnection('mysql2');
    $something = $someModel->find(1);
    return $something;
  }
}

跨數(shù)據(jù)庫(kù)連接是可以的,但是也可能帶來(lái)一些問(wèn)題,這取決于你的數(shù)據(jù)庫(kù)或者數(shù)據(jù)庫(kù)配置,所以要謹(jǐn)慎使用。

原文地址:http://fideloper.com/laravel-multiple-database-connections

更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • Laravel框架數(shù)據(jù)庫(kù)CURD操作、連貫操作總結(jié)
  • Laravel5.1數(shù)據(jù)庫(kù)連接、創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建model及創(chuàng)建控制器的方法
  • Laravel如何同時(shí)連接多個(gè)數(shù)據(jù)庫(kù)詳解
  • laravel框架數(shù)據(jù)庫(kù)配置及操作數(shù)據(jù)庫(kù)示例
  • Laravel獲取所有的數(shù)據(jù)庫(kù)表及結(jié)構(gòu)的方法
  • 淺談laravel數(shù)據(jù)庫(kù)查詢返回的數(shù)據(jù)形式
  • Laravel創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)的例子
  • laravel 操作數(shù)據(jù)庫(kù)常用函數(shù)的返回值方法
  • Laravel5.5 數(shù)據(jù)庫(kù)遷移:創(chuàng)建表與修改表示例
  • Laravel數(shù)據(jù)庫(kù)讀寫分離配置的方法
  • Laravel框架DB facade數(shù)據(jù)庫(kù)操作詳解

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

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

    • 400-1100-266
    任丘市| 类乌齐县| 惠安县| 岫岩| 合作市| 阜平县| 定边县| 怀安县| 阳东县| 英吉沙县| 凤冈县| 渝北区| 宁城县| 石景山区| 永登县| 锡林郭勒盟| 赤峰市| 赞皇县| 弥勒县| 阳城县| 临泉县| 门源| 莲花县| 嵊泗县| 郧西县| 奉节县| 南澳县| 普定县| 天峻县| 蒙阴县| 弥渡县| 晋宁县| 崇礼县| 河北区| 崇州市| 甘德县| 金秀| 漾濞| 日喀则市| 志丹县| 绥芬河市|