Php Laravel 5更改控制器中的数据库名称
呃。我需要将数据库名称更改为特定的控制器。我已经将database.php更改为Php Laravel 5更改控制器中的数据库名称,php,database,laravel,sqlsrv,Php,Database,Laravel,Sqlsrv,呃。我需要将数据库名称更改为特定的控制器。我已经将database.php更改为 'sqlsrv' => [ 'driver' => 'sqlsrv', 'host' => env('DB_HOST', 'loal'), 'database' => env('DB_DATABASE', 'test1'), 'username' => env('DB_USERNAME', ''),
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'loal'),
'database' => env('DB_DATABASE', 'test1'),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
],
'sqlsrv2' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'local'),
'database' => env('DB_DATABASE', 'test2'),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
],
我的主数据库是test1,我需要在这里将其更改为test2 DB名称:
public function TransactionHistory(Request $request){
Config::set('database.default','sqlsrv2');
dd(DB::connection() );
}
但它只返回null,并且仍在读取测试1。有人吗?一种方法是使用
DB::connection()
方法更改连接:
$connection = DB::connection('sqlsrv2'); //this will create a database connection using sqlsrv2 in your config.
现在,您可以使用$connection
运行查询等
:一种方法是使用
DB::connection()
方法更改连接:
$connection = DB::connection('sqlsrv2'); //this will create a database connection using sqlsrv2 in your config.
现在,您可以使用$connection
运行查询等
:如果您使用的是Eluquent,则有更优雅的方法
如果你使用的是Eluquent,还有更优雅的方法
您好@jaysingkar,我尝试了您的解决方案,但仍然在阅读test1:(
$connection=DB::connection('sqlsrv2');dd($connection->getDatabaseName());
哦,很抱歉我没有注意到您的配置文件。在您的sqlsrv2
配置中,'database'=>env('DB_database','test2'),
changeenv('DB_DATABASE','test2')
要测试2或更改环境变量以使用除'DB_DATABASE'之外的其他变量,因为它在您的两个连接中具有相同的数据库名称EAP。我现在知道了。谢谢兄弟:)您好@jaysingkar,我尝试了您的解决方案,但它仍然是test1:($connection=DB::connection('sqlsrv2');dd($connection->getDatabaseName());
哦,很抱歉我没有注意到你的配置文件。在你的sqlsrv2
配置中,'database'=>env('DB_database','test2'),
changeenv('DB_database','test2'))
测试2或将环境变量更改为使用“DB\u DATABASE”以外的其他变量,因为它在两个连接中具有相同的数据库名称EAP。我现在就知道了。谢谢兄弟:)
namespace App;
use Illuminate\Database\Eloquent\Model;
class Flight extends Model
{
/**
* The connection name for the model.
*
* @var string
*/
protected $connection = 'connection-name';
}