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
    版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。

  • 相关阅读:
    排序-计数-优化版
    排序-计数-基础版
    排序-归并
    Unity战斗模块之角色继承设计---1.1
    Unity中保存和读取数据的类---PlayerPrefs
    《计算机图形学》 第一章 基础知识--02向量(二维)
    《计算机图形学》 第一章 基础知识--01下载和安装DirectX,配置VS编辑器
    第四章 002-条件语句
    第四章 001-复合语句
    第三章 004-运算符
  • 原文地址:https://www.cnblogs.com/mouseleo/p/12830697.html
Copyright © 2011-2022 走看看