![](/img/trans.png)
[英]SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
[英]'SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected' after returning from Laravel password reminder
這是我的主頁路線,在這里我得到一個隨機成員:
Route::get('/', function()
{
$member = User::orderBy(DB::raw('RAND()'))->first();
return View::make('landing', compact('member'));
});
當RemindersController
的postRemind
方法發送電子郵件時,我正在這樣做:
case Password::REMINDER_SENT:
return Redirect::to('/')->with('flash_message', 'Whatever message...');
然后主頁返回:
Illuminate \ Database \ QueryException
SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected (SQL: select * from `users` order by RAND() asc limit 1)
如果我在那里刷新頁面,它將自動修復。我正在使用getenv()
和.env.php
文件填充數據庫連接值。 如果我將其切換為硬編碼,則可以解決此問題。 如果我回到使用getenv()
它也可以工作。 但是,當我重新啟動WAMP時,我回到了方格1。
這是怎么回事?
當我使用getenv()替換了database.php中的硬編碼值時,出現了這個問題。
您確定正在加載正確的環境嗎? 您可以在終端中檢查它,然后轉到項目路線並執行
PHP工匠環境
如果不正確,則可以在文件start.php中進行修復。
例如,如果您的本地環境文件(在項目的根目錄中)在文件start.php中被稱為“ .env.local.php”,則應具有以下內容:
$ env ='yourHostName.local'
您可以通過在根文件夾.env文件中添加數據庫名稱以及用戶名和密碼來暫時解決此問題。
我遇到了同樣的問題,您只需要在.env文件中更改APP_ENV
APP_ENV=localhost.local
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.