zoukankan      html  css  js  c++  java
  • Laravel 连接多个数据库

    第一步、定义数据库链接
    config/database.php

    <?php
    return [

    'default' => 'mysql',

    'connections' => [

    # 主要数据库连接
    'mysql' => [
    'driver' => 'mysql',
    'host' => 'host1',
    'database' => 'database1',
    'username' => 'user1',
    'password' => 'pass1',
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    ],

    # 第二个链接
    'mysql2' => [
    'driver' => 'mysql',
    'host' => 'host2',
    'database' => 'database2',
    'username' => 'user2',
    'password' => 'pass2',
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    ]
    ],
    ];
    第二步、连接第二个数据库
    我们已经成功配置了第二个数据库链接,接下来讲解几种连接的方法。

    1. Schema 表结构更改
    在代码迁移时,可以使用 Schema 提供的 connection() 方法:

    Schema::connection('mysql2')->create('some_table', function($table)
    {
    $table->increments('id'):
    });
    2. Query 数据库查询
    同样的,数据库查询构造器里提供了一个 connection() 方法:

    $users = DB::connection('mysql2')->select(...);
    3. Eloquent 数据模型
    使用 $connection 属性来设置默认的连接:

    <?php

    class SomeModel extends Eloquent {

    protected $connection = 'mysql2';

    }
    你也可以使用 setConnection 来动态设置连接:

    <?php

    class SomeController extends BaseController {

    public function someMethod()
    {
    $someModel = new SomeModel;

    $someModel->setConnection('mysql2');

    $something = $someModel->find(1);

    return $something;
    }

    }
    或者使用 on() 方法:

    $someModel->on('mysql2')->find(1);

    ————————————————
    原文作者:Summer
    转自链接:https://learnku.com/laravel/wikis/16106
    版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。

  • 相关阅读:
    Ryzom简易汉化教程
    在Windows上编译运行Ryzom客户端
    在Windows(x86)上编译、配置并运行Ryzom Core(服务器/客户端)
    引擎设计与商业模式
    总结了一下新手学习Windows 8 Metro App 开发的捷径
    开始研究Ryzom Core!
    和Ryzom相关的项目简介
    关于Ryzom游戏开发的路线图
    根据 yyyymmdd格式日期取得当前日期所在周的开始和结束日期
    asp数组中REDIM的用法(动态数组)
  • 原文地址:https://www.cnblogs.com/mouseleo/p/12830697.html
Copyright © 2011-2022 走看看