Yud*_*ama 10 php database connection laravel
如何更改laravel的连接形式控制器,但存储在数据库中的连接信息,如数据库管理器,我的例子:
我有关于我的数据库的数据库信息:
id, driver, database_name, username, password, host
Run Code Online (Sandbox Code Playgroud)
所以在我的控制器上只需致电:
$connection = Database::find( 1 );
$users = new Users();
$users->setConnection( [
'driver' => $connection->driver,
'host' => $connection->host,
'username' => $connection->username,
'password' => $connection->password
] );
$users = $users->get();
Run Code Online (Sandbox Code Playgroud)
Edd*_*ove 14
我会在这里寻求帮助.让我们创建一个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');
}
}
Run Code Online (Sandbox Code Playgroud)
现在在控制器的某个地方我们尝试
use App\Helpers\DatabaseConnection;
...
$params = Database::find( 1 );
$connection = DatabaseConnection::setConnection($params);
$users = $connection->select(...);
Run Code Online (Sandbox Code Playgroud)
注意:未经测试.我希望它有效或只是引导你
更多信息:
使用多数据库:https://laravel.com/docs/5.3/database#read-and-write-connections
动态设置配置:https://laravel.com/docs/5.3/configuration#accessing-configuration-values
归档时间: |
|
查看次数: |
10310 次 |
最近记录: |