如何在 Laravel 中获取当前查询 DB_HOST 值
Posted
技术标签:
【中文标题】如何在 Laravel 中获取当前查询 DB_HOST 值【英文标题】:How to get the current query DB_HOST value in Laravel 【发布时间】: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() 我必须附和它吗?它会显示当前查询吗?在运行查询之前或之后是否必须回显(查询可以是读取类型或写入类型) 【参考方案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
【讨论】:
以上是关于如何在 Laravel 中获取当前查询 DB_HOST 值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 4 中的 @if 语句(刀片)中获取当前 URL?
如何在 Laravel 5 中从 Carbon 获取当前时间戳