gpt4 book ai didi

Lumen 使用 .env 中的 DB_ 连接连接到多个数据库 - 可能吗?

转载 作者:行者123 更新时间:2023-12-01 22:41:39 25 4
gpt4 key购买 nike

我可以看到如何使用 app/config/database.php 中的配置文件来建立多个连接,并且这是有详细记录的。

这是唯一的方法还是您也可以使用 .env 文件定义多个连接?

最佳答案

首先,您需要配置连接。您需要在项目中创建一个 config 目录并添加文件 config/database.php。像这样:

<?php
return [

'default' => 'mysql',
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'homestead',
'username' => 'root',
'password' => 'secret',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'mysql2' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'homestead2',
'username' => 'root',
'password' => 'secret',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
],

添加连接配置后,您可以通过从容器中获取数据库管理器对象并调用 ->connection('connection_name') 来访问它们。请参阅下面的完整示例。

<?php
namespace App\Http\Controllers;
use Illuminate\Database\DatabaseManager;
class StatsController extends Controller
{
/**
* @return array
*/
public function getLatest()
{
// Resolve dependencies out of container
/** @var DatabaseManager $db */

$db = app('db');
$database1 = $db->connection('mysql');
$database2 = $db->connection('mysql2');

// Look up 3 newest users and 3 newest blog posts
$threeNewestUsers = $database1->select("SELECT * FROM users ORDER BY created_at DESC LIMIT 3");

$threeLatestPosts = $database2->select("SELECT * FROM blog_posts ORDER BY created_at DESC LIMIT 3");
return [
"new_users" => $threeNewestUsers,
"new_posts" => $threeLatestPosts,
];
}
}

http://andyfleming.com/configuring-multiple-database-connections-in-lumen-without-facades/

关于Lumen 使用 .env 中的 DB_ 连接连接到多个数据库 - 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33380247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com