【发布时间】:2018-06-16 23:55:41
【问题描述】:
我正在尝试使用多个数据库来使用 laravel:
- Laravel 版本:5.5.28
- PHP 版本 7.2.0
- 数据库驱动和版本:MariaDB 10.1.29
定义连接:
return array(
'default' => 'mysql',
'connections' => array(
# Primary/Default database connection
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'bdd1',
'username' => 'root',
'password' => ''
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# Secondary database connection
'mysql2' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'bdd2',
'username' => 'root',
'password' => ''
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
定义模型:
class Products extends Model {
protected $connection = 'mysql';
}
定义控制器:
class ProductController extends BaseController {
public function find()
{
$productModel= new Products;
$productModel->setConnection('mysql2');
$product= $productModel->find(1);
return $product;
}
}
上面的代码可以正常工作,但是如果我更改控制器中的连接名称,它会继续使用 .env 文件中配置的内容
请问,谁能帮我解决这个问题?
【问题讨论】:
-
试试:
php artisan config:clear确保你有一个新的配置文件
标签: php laravel laravel-5 laravel-5.5