2016-09-29 77 views
2

我在phpmyadmin和新表格中创建了新的数据库。未配置数据库[] Laravel 5

话,我

public function next(Request $request){ 
    $langs = DB::connection('mydb')->select('select * from lang'); 
    } 

,并得到

Database [compgen] not configured. 

在我.ENV

DB_HOST=localhost 
DB_DATABASE=test 
DB_USERNAME=root 
DB_PASSWORD=123 
在我的配置

/database.php中

 'mysql' => [ 
     'driver' => 'mysql', 
     'host'  => env('DB_HOST', 'localhost'), 
     'database' => env('DB_DATABASE', 'test'), 
     'username' => env('DB_USERNAME', 'root'), 
     'password' => env('DB_PASSWORD', '123'), 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => 'test_', 
     'strict' => false, 
    ], 
+0

做一个作曲家转储自动加载和工匠配置:清除 –

+0

''前缀'=>'test_''连同名为'lang'的表?这可能会导致冲突的雄辩建设者我猜 –

回答

3

您使用单一连接,所以你并不需要指定它:

$langs = DB::table('lang')->get(); 

您应该使用connection()方法只有当你与multiple DB connections工作。

+0

或者你可以使用'$ langs = DB ::连接('mysql') - > select('select * from lang')调用正确的数据库连接(称为“mysql”)。 ;' – barryvanveen

2

在我的情况下,我使用2分贝连接和第二次添加没有缓存,命令调用: php artisan config:cache 做了窍门。

要查看发生了什么,只需在DatabaseManager->configure方法中输出$connections变量即可。

0

对我而言,这是一个糟糕的数据库用户名。我把它设置在我的config/database.php以及.env文件中,其中一个与另一个不同。在搜索时发现这个线索,认为这可能有助于某人。