php - Eloquent 中的多个数据库连接与 slim

标签 php eloquent slim

我尝试在 Slim 框架应用程序中向 Eloquent 添加更多数据库连接。

我这样做:

$app = new \Slim\App([
    'db' => [
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'products',
        'username'  => 'user',
        'password'  => 'pass',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ],
    'db_second' => [
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'second',
        'username'  => 'user',
        'password'  => 'pass',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ],
]);

$container = $app->getContainer();

// connect to db with Illuminate larvel
$capsule = new \Illuminate\Database\Capsule\Manager;
$capsule->addConnection($container['settings']['db']);
$capsule->setAsGlobal();
$capsule->bootEloquent();
/// END connect to db

// to accsess the $capsule with our container from our controllers
$container['db'] = function($container) use ($capsule){
    return $capsule;
};

现在我不知道如何向设置中的 db_second 配置添加另一个连接。

我应该如何在模型中使用这个连接?

最佳答案

如果有人需要,我找到了答案:

// connect to db with Illuminate larvel
$capsule = new \Illuminate\Database\Capsule\Manager;
$capsule->addConnection($container['settings']['db']);
$capsule->addConnection($container['settings']['db_second'], '**db_second**');
$capsule->setAsGlobal();
$capsule->bootEloquent();
/// END connect to db

在我放入的模型文件中:

protected $connection = '**db_second**';

我在要在 addConnection 和模型中使用的名称中输入 ** 需要同名。

关于php - Eloquent 中的多个数据库连接与 slim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45798770/

相关文章:

php - Mysql Views - 自动增量不工作(通过 Eloquent ORM)

php - Laravel Pluck - 如何获得多个字段

Laravel Eloquent 关系 - 3 个表,其中一个是查找表

php - 无法使用 AFNetworking 2 和 Slim PHP 框架上传图像

javascript - Angular.JS HTTP POST 数据未发送

php - 在 PHP 中以编程方式检测 PEAR

Php的Mysqli以随机顺序执行语句(很奇怪)

php - 创建资源 : [message] fopen(): Unable to find the wrapper "https" on Ubuntu using Symfony 时出错

php - 一个脚本出现 "MySQL PHP extension not available"错误,而其他一切正常

php - 为什么我的 HttpPost 不起作用?