Laravel 动态改变连接

2023-12-19

如何更改 laravel 的连接表单控制器,但连接信息存储在数据库中,如数据库管理器,我的示例:

我的数据库中有数据库信息:

id, driver, database_name, username, password, host

所以在我的控制器上只需调用:

$connection = Database::find( 1 );
$users = new Users();
$users->setConnection( [
    'driver' => $connection->driver,
    'host' => $connection->host,
    'username' => $connection->username,
    'password' => $connection->password
] );
$users = $users->get();

我要去这里找一个帮手。让我们创建一个app/Helpers/DatabaseConnection.php.

namespace App\Helpers;
use Config;
use DB;

class DatabaseConnection
{
    public static function setConnection($params)
    {
        config(['database.connections.onthefly' => [
            'driver' => $params->driver,
            'host' => $params->host,
            'username' => $params->username,
            'password' => $params->password
        ]]);

        return DB::connection('onthefly');
    }
}

现在在控制器的某个地方我们尝试

use App\Helpers\DatabaseConnection;
... 

$params = Database::find( 1 );
$connection = DatabaseConnection::setConnection($params);
$users = $connection->select(...);

注:未测试。我希望它有效或只是指导你

更多信息:

  • 使用多数据库:https://laravel.com/docs/5.3/database#read-and-write-connections https://laravel.com/docs/5.3/database#read-and-write-connections

  • 即时设置配置:https://laravel.com/docs/5.3/configuration#accessing-configuration-values https://laravel.com/docs/5.3/configuration#accessing-configuration-values

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 动态改变连接 的相关文章

  • 使用 preg_replace 缩小 CSS

    我正在尝试使用 preg replace 缩小多个 CSS 文件 实际上 我只是想从文件中删除任何换行符 制表符和注释 以下对我有用 regex array t r n echo preg replace regex file get co
  • Tortoise SVN 合并“@### 必须与 @### 有祖先关系”错误

    背景故事 找到了一份入门级 Web 开发人员的工作 当我开始工作时 首席开发人员就离开了 一切责任都在我身上 没用过SVN 盲目进去 Problem 我不断收到类似错误 svn svn svn xxx project name branch
  • PDO 限制和偏移量[重复]

    这个问题在这里已经有答案了 可能的重复 LIMIT 中的 PHP PDO 绑定值 https stackoverflow com questions 2269840 php pdo bindvalue in limit 我在prepare语
  • “imagecolorat”和透明度

    如何才能获得透明度上一个像素的值image imagecolorat 仅选取图像中指定位置的像素颜色索引 通过该索引 我可以获取 RGB 值 但不能获取透明值 希望您理解 并提前感谢您 解决方案可能如下 colorIndex imageco
  • switch 语句中的 continue 2 和break

    我是 PHP 新手 在网上看到了下面的代码 它有continue 2 and break一起在switch case陈述 这是什么意思 foreach elements as element switch element type case
  • 清理 couchdb 并重新启动

    清理命令是什么CouchDB请 如果我想disable and re start我的CouchDB命令是什么 Thanks CouchDB 可以从以下位置启动 停止 重新启动 etc init d couchdb or etc rc d c
  • 将字符串转换为关联数组键?

    给定一个包含由点分隔的值的字符串 property entry item 将其转换为关联数组的键的最佳方法是什么 result imported data property entry item 该字符串可以是任意长度 任意数量的点并包含一
  • 在 TCPDF 中,这个 getAliasNbPages 返回值 {:ptp:} 那么我怎样才能获得整数

    在 TCPDF 中 此函数显示值 ptp 那么我如何获得整数 所以请帮助我 我需要这个值 因为我需要应用一些条件 我有很多检查过的文档 但我找不到解决方案 你只能得到一个alias因为直到文档结束时您才知道总页数 TCPDF 替换占位符别名
  • 对于MySQL查询中的每个结果,推送到数组(复杂)

    好吧 这就是我想做的 我正在运行 MySQL 查询来获取最新的帖子 对于每个返回的行 我需要将行的 ID 推送到数组 然后在数组的该 ID 内 我需要从行中添加更多数据 多维数组 到目前为止 这是我的代码 query SELECT FROM
  • 插入前检查数据库中是否存在行

    DBH new PDO dsn username password opt DBH gt setAttribute PDO ATTR ERRMODE PDO ERRMODE EXCEPTION DBH gt setAttribute PDO
  • 传递多个数组以在 codeigniter 中查看

    我的模型是这个 两个函数view和spl function view result this gt db gt get tb ourcity return result gt result array query this gt db gt
  • PHP 从 MSSQL 存储过程获取返回值

    我无法从 SQL Server MSSQL 2012 SP 获取 OUTPUT 参数以返回 PHP 我的存储过程是 CREATE PROCEDURE spGetNextSeqID ID AS INT OUTPUT AS BEGIN BEGI
  • PHP ArrayAccess 设置多维

    EDIT 我意识到文本量可能令人生畏 这个问题的本质是 如何以可以设置多维值的方式实现 ArrayAccess 我知道这个问题已经被讨论过here https stackoverflow com questions 2881431 arra
  • 使用Zend实现文件上传进度

    您好 我正在尝试使用 Zend 实现上传进度 但是我还没有找到任何详细的教程 指针会很有用 Thanks 我不记得曾经看过完整详细的教程来解释如何使用 Zend Framework 获取上传进度条 但这里有一些提示 如果您已经了解有关 PH
  • 在 Doctrine 2 ORDER BY 中使用 DQL 函数

    我正在使用 MySQL 数据库在 Symfony 2 3 和 Doctrine 2 4 中做一个项目 我有一个 FieldValue 实体 简化 class FieldValue The ID var integer protected f
  • SQLite 性能基准 - 为什么 :memory: 这么慢...只有磁盘速度的 1.5 倍?

    为什么 sqlite 中的 memory 这么慢 我一直在尝试查看使用内存中的 sqlite 与基于磁盘的 sqlite 是否可以获得任何性能改进 基本上我想用启动时间和内存来换取非常快速的查询not在应用程序过程中击中磁盘 然而 以下基准
  • 会话变量从 while 循环发送特定变量

    我有这个简单的while 循环它从 mysql 查询中检索数据并在我的主页上显示几个链接 我想避免使用 php get 函数并将查询字符串添加到我的网址中 我正在考虑使用会话变量 但我需要帮助 而且我很确定这是无法完成的 当访问者单击 wh
  • 人类可读的 JSON:又名向 json 转储添加空格和换行符

    是否有一个 简单 脚本可以获取 json 数据并对其进行格式化以使其更具可读性 例如 response is a json encoded string var dump response 上面的内容在一行上输出所有内容 我希望将其缩进并加
  • 底层连接已关闭:接收时发生意外错误

    我来这里是因为我在通过 ftp 协议下载一些文件时遇到问题 这很奇怪 因为它偶尔会发生 甚至对于同一个文件也是如此 只是一个精确度 我正在下载非常大的文件 从 500 Mo 到 30Go 以下是我的函数返回的异常类型 抱歉 这是法语 Sys
  • Amazon Linux 上的 Nginx + php-fpm = 在信号 11 上退出

    亚马逊 Linux 最新 PHP 5 4 19 cli 构建时间 2013 年 9 月 3 日 23 19 23 nginx版本 nginx 1 2 9 安装 PHP FPM PHP 5 4 19 fpm fcgi 构建时间 2013 年

随机推荐

  • 类“QueryDocumentSnapshot”没有实例方法“[]”。接收者:“QueryDocumentSnapshot”的实例尝试调用:[](“名称”)

    我正在尝试从 FireStore 检索这两个值 姓氏 test 字符串 姓名 Carlos 字符串 但是我收到这个错误 Another exception was thrown NoSuchMethodError Class QueryDo
  • ios10 iphone5s voip siphon pjsip2.5.5 打开声音设备时出错

    有人可以告诉我为什么会发生这种情况吗 iOS10 iPhone5s VOIP虹吸pjsip2 5 5 这些问题并不是每次都会出现 有时当你想拨打电话或接听电话时就会出现 添加于 20161226 打开声音设备时出错 14 06 03 137
  • Qt 属性语法的正确使用

    当我使用Q PROPERTY要定义一个属性 我确保继承自QObject并声明Q OBJECT宏位于类定义的开头 我这样声明属性 Q PROPERTY QString MyProp READ getMyProp WRITE setMyProp
  • Libgdx:将 2 个演员依次放置

    我使用 libgdx 的 scene2d 内置 UI 库在我的游戏中制作 UI 我很有趣 如何在一张桌子上绘制 2 个图像 或演员 我正在寻找类似的可绘制图层 http developer android com reference and
  • 错误:pandas 数字列上的代码因字符串格式错误而中断

    我正在一张桌子上阅读pandas 其中一列的日期格式为 YYYYMMMDD 到目前为止 在我的所有尝试中 它都是作为数字列读入的 我可以先用笨重的代码正确地消化它 尽管很慢 但随后当前版本会以我不理解的方式出现问题 所以 这有效 treat
  • iPhone 4 摄像头规格 - 视野/垂直-水平角度

    有人知道新 iPhone4 摄像头的视野值吗 我正在做一些 AR 应用程序 我想知道后置摄像头的水平和垂直角度 Thanks 如果传感器高 3 39 毫米 参考横向模式 则其一半为 1 695 毫米 iPhone 4 的焦距为 3 85 毫
  • 以下算法的时间复杂度是多少? [复制]

    这个问题在这里已经有答案了 有人能告诉我这个算法的时间复杂度是多少吗 请记住 第二个方法 findMax 根据其获取的索引在数组上运行 这意味着该方法 findMax 不会每次都在所有数组上运行 我认为这个算法的时间复杂度是 O n 但也许
  • MessageChannel 和 WebSocket 之间的区别?

    我不明白 MessageChannel 和 WebSockets 之间有什么区别 我需要以下要求 最大限度地减少延迟 全双工 最小标头数据长度 两者都满足要求吗 哪个更好 HTML5 网络消息 API http www w3 org TR
  • 为什么我不能在函数中使用“import *”? [复制]

    这个问题在这里已经有答案了 这按预期工作 def outer func from time import print time outer func 我可以在上下文中定义嵌套函数并从其他嵌套函数调用它们 def outer func def
  • 将颜色转换为十六进制 C#

    我在将颜色转换为十六进制时遇到问题 下面有红色下划线System Drawing ColorTranslator FromHtml paint and rect Color 多变的paint是静态的 目前 在我看来 问题在于变量的类型 pu
  • 从所有条件中选择至少具有两个条件的行

    我在 R 中有这个数据框 我需要仅选择符合以下至少两个条件的行 A gt 5 B gt 5 C gt 5 D gt 5 A B C D 1 0 000000 48 936170 0 000000 29 787234 2 0 000000 7
  • Java 泛型和静态工厂方法 -- 语法

    这是我所得到的 public class Node
  • 我在安装 PyDictionary 时遇到问题

    当我输入 pip install PyDictionary 时 我保留此错误 我还尝试通过输入 python 3 m pip install PyDictionary 来安装该软件包 我之前安装了该软件包 但在 python 3 10 上没
  • 运算符 >= 重载的奇怪行为

    我在 C 中的运算符重载中遇到了奇怪的行为 我有一个类 我需要检查它的内容是否大于或等于 long double 我重载了 gt 运算符来进行此检查 我的声明如下 bool MyClass operator gt long double v
  • NpgSql 调用函数/例程

    给定以下 Postgresql 例程 CREATE OR REPLACE FUNCTION checkemailexists emailaddress text RETURNS boolean LANGUAGE plpgsql AS pri
  • 预期的类型参数,找到的结构[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我将其简化为以下代码 trait Logger struct DefaultLogger impl Logger for DefaultLogger struct A
  • 在数据库中存储 BitSet 数组的最佳方法?

    我有一个数组java util BitSet我想保留在我的数据库中 但我不知道最好的方法是什么 准确地说我得到了x y true or false我想要存储的每个条目的值 我想java util BitSet是一个很好的尝试 但我真的不知道
  • 图像悬停时的 CSS 颜色叠加

    我尝试过其他答案 但还没有适合我的特定设置的答案 我无法使用任何 ul li 设置 所以请不要这样做 我试图让一个稍微透明的橙色层显示在图像上 我无法使用绝对定位 该网站是基于 Foundation 4 构建的并且是响应式的 到目前为止 我
  • 为什么即使使用正确的 autoconf,autogen.sh 也会失败?

    autogen sh 失败 输出显示我需要更高版本的 autoconf 但事实上我有一个 2 6x autoconf 为什么仍然失败 mirror home 4 autogen sh autoreconf i f v autoreconf
  • Laravel 动态改变连接

    如何更改 laravel 的连接表单控制器 但连接信息存储在数据库中 如数据库管理器 我的示例 我的数据库中有数据库信息 id driver database name username password host 所以在我的控制器上只需调