最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP laravel實(shí)現(xiàn)配置使用多數(shù)據(jù)庫(kù)

 更新時(shí)間:2022年10月21日 11:29:05   作者:camellia  
有的時(shí)候,我們?cè)陂_(kāi)發(fā)的過(guò)程中需要連接多個(gè)數(shù)據(jù)庫(kù)。Laravel框架中早已為我們想到了這樣的需求。這篇文章主要為大家介紹了laravel配置使用多數(shù)據(jù)庫(kù)的方法,需要的可以參考一下

有的時(shí)候,我們?cè)陂_(kāi)發(fā)的過(guò)程中需要連接多個(gè)數(shù)據(jù)庫(kù)。

Laravel框架中早已為我們想到了這樣的需求。

配置很簡(jiǎn)單。

在根目錄下的/config/database.php文件中配置:

Laravel中為我們提前預(yù)設(shè)了多種類(lèi)型的數(shù)據(jù)庫(kù)連接

  'connections' => [
  
        'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],
  
        'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],
  
        'pgsql' => [
            'driver' => 'pgsql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],
  
        'sqlsrv' => [
            'driver' => 'sqlsrv',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
        ],
  
    ],

默認(rèn)連接的是mysql配置,配置項(xiàng)是存儲(chǔ)在根目錄下的.env文件中的。

如果使用多數(shù)據(jù)連接,則只需要,根據(jù)你的數(shù)據(jù)庫(kù)類(lèi)型,在配置你需要的數(shù)據(jù)庫(kù)連接就好了。

如下面所示:

我增加了一個(gè)mysql數(shù)據(jù)庫(kù)連接和oracle數(shù)據(jù)庫(kù)連接

'connections' => [
  
        'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],
  
        // 本地?cái)?shù)據(jù)庫(kù),存儲(chǔ)本地?cái)?shù)據(jù)
        'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', 'xxxxx'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', xxxx),
            'username' => env('DB_USERNAME', xxxx),
            'password' => env('DB_PASSWORD', xxxxxxx'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => false,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],
  
        // 線(xiàn)上數(shù)據(jù)庫(kù),將本地?cái)?shù)據(jù),同步至線(xiàn)上數(shù)據(jù)
        'mysql_base' => [
            'driver' => 'mysql',
            'read' => [
                'host' => env('DB_HOST_BASE', 'xxxxx'),
            ],
            'write' => [
                'host' => env('DB_HOST_BASE', 'xxxxx')
            ],
            'port' => env('DB_PORT_BASE', xxxx),
            'database' => env('DB_DATABASE_BASE', xxxx),
            'username' => env('DB_USERNAME_BASE', xxxxxx),
            'password' => env('DB_PASSWORD_BASE', 'xxxxx'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => false,
            'engine' => null,
        ],
  
        'pgsql' => [
            'driver' => 'pgsql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],
  
        'sqlsrv' => [
            'driver' => 'sqlsrv',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
        ],
         // oracle 數(shù)據(jù)庫(kù)連接
        'oracle' => [
            'driver' => 'oracle',
            'host' => '210.30.64.37',
            'port' => xxx,
            'database' => '',
            'service_name' => xxxxx,
            'username' => xxx_xxxx,
            'password' => xxxx_xxxx,
            'charset' => 'AL32UTF8',
            'prefix' => '',
        ]
  
    ],

我們?cè)谑褂闷溆嗟臄?shù)據(jù)庫(kù)連接,如下方所示:

1:使用原生sql

DB::connection('oracle')->select("SELECT * from  xxxxx WHERE XH = '{$personal_id}' AND XM = '{$name}'")

2:使用laravel封裝的數(shù)據(jù)庫(kù)方法:

$userinfo = DB::connection('mysql_base')->table('user')
                                                ->where('personal_id', '=', $data['personal_id'])
                                                ->where('name', '=', $data['name'])
                                                ->where('school_id', '=', $data['school_id'])
                                                ->select('id', 'type', 'school_id', 'personal_id', 'name', 'email', 'ilab_user', 'ilab_pwd')
                                                ->first();

最后,還是強(qiáng)調(diào)一句,數(shù)據(jù)庫(kù)連接相關(guān)的用戶(hù)名,連接,密碼之類(lèi)的,一般還是寫(xiě)在.env文件中的,方便我們統(tǒng)一管理。

以上就是PHP laravel實(shí)現(xiàn)配置使用多數(shù)據(jù)庫(kù)的詳細(xì)內(nèi)容,更多關(guān)于PHP laravel配置多數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

鄂托克旗| 卓资县| 灵山县| 珲春市| 托克逊县| 左权县| 吉水县| 山阴县| 潼南县| 和顺县| 天全县| 扬州市| 龙州县| 屏东县| 黄冈市| 鹤庆县| 城口县| 衡东县| 尼木县| 高阳县| 涡阳县| 紫金县| 安西县| 华宁县| 连江县| 名山县| 呼伦贝尔市| 东丽区| 淳安县| 竹山县| 道孚县| 安国市| 获嘉县| 确山县| 元谋县| 平陆县| 河东区| 龙门县| 无棣县| 澄城县| 曲麻莱县|