laravel - Laravel - 在单个查询中使用多连接
问题描述
我在我的项目中使用了多个数据库。但是可以在 laravel 的单个查询中使用多个连接吗?这是我的连接配置。
'mysql' => [
'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,
],
'mysql_pdd' => [
'driver' => 'mysql',
'host' => env('DB_PDD_HOST', '127.0.0.1'),
'port' => env('DB_PDD_PORT', '3306'),
'database' => env('DB_PDD_DATABASE', 'forge'),
'username' => env('DB_PDD_USERNAME', 'forge'),
'password' => env('DB_PDD_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
我想在与表的mysql
连接中加入一个mysql_pdd
表。那可能吗?
解决方案
Yes, you can but for that you need to put condition, when you want to connect 'mysql' and when 'msql_pdd'.
if (mysql_connection){
$mysql =DB:: reconnect('mysql');
}else if(mysql_pdd_connection){
$mysql_pdd =DB:: reconnect('mysql_pdd');
}
使用 $mysql 和 $mysql_pdd 你也可以通过代码而不是查询来执行连接。
推荐阅读
- django - 在 Django 中为模型字段设置默认值
- macos - Flutter Web 应用程序在调试中崩溃 DUE_TO_PRIVACY_VIOLATION(相机权限)
- python - python上的硒可以获取a的值吗?
- java - 如何从 Firestore 中获取选定的索引文档?
- c# - Jquery Tablesorter 插件无法与 AjaxToolkit Accordion 一起正常运行
- css - 如何在 React Native 中以像素为单位获取 fontSize?
- linux - 在整个脚本期间跟踪日志(包括重新启动)
- swift - Flutter:Firebase_Analytics - 架构 x86_64 的未定义符号:“_OBJC_CLASS_$_FIRAnalytics”,引用自:
- html - 如何将一个 div 放在另一个 div 之上?
- r - 查找点组合之间距离的更快方法