溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Laravel框架實現(xiàn)多數(shù)據(jù)庫連接

發(fā)布時間:2021-04-13 17:08:15 來源:億速云 閱讀:365 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細講解有關(guān)如何使用Laravel框架實現(xiàn)多數(shù)據(jù)庫連接,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

一、定義連接

進入到數(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;
  }
}

關(guān)于如何使用Laravel框架實現(xiàn)多數(shù)據(jù)庫連接就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI