2016-09-29 54 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文件中,其中一個與另一個不同。在搜索時發現這個線索,認爲這可能有助於某人。