【问题标题】:How to get the current query DB_HOST value in Laravel如何在 Laravel 中获取当前查询 DB_HOST 值
【发布时间】:2018-06-15 22:25:20
【问题描述】:

在这个位置:..\config\database.php

   'mysql' => [
                'read' => [
                    'host' => env('DB_HOST_READ', '127.0.0.2'),
                ],
                'write' => [
                    'host' => env('DB_HOST_WRITE', '127.0.0.1'),
                ],
                'driver' => 'mysql',
//                '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' => '',
                'strict' => false,
                'engine' => null,
            ],

.env 文件添加:

DB_HOST_READ=127.0.0.2
DB_HOST_WRITE=127.0.0.1

查看读取和写入主机值。我想验证用于当前正在运行的读写查询的主机。

我正在使用 Laravel 5.5 。那么如何获取每个查询的 DB_HOST 值呢?

【问题讨论】:

  • DB::connection()
  • 我必须附和它吗?它会显示当前查询吗?在运行查询之前或之后是否必须回显(查询可以是读取类型或写入类型)

标签: php mysql laravel-5.5 master-slave


【解决方案1】:
env('DB_HOST_READ');
env('DB_HOST_WRITE');

【讨论】:

  • 请在您的答案中添加一些解释,以便其他人可以从中学习
【解决方案2】:

您可以使用配置助手功能。

$readHost = config('database.mysql.read.host');
$writehost = config('database.mysql.write.host');

这将考虑 env 文件上的值,您可能在 database.php 配置文件中指定的任何默认值(env('VALUE_FROM_ENF',"default value"))。

参考:https://laravel.com/docs/6.x/configuration

【讨论】:

    猜你喜欢
    • 2017-07-23
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2016-09-19
    相关资源
    最近更新 更多