2016-03-28 19 views
1

私はLaracastシリーズのLarvel 5を最初からLaracastで使用していますが、具体的には "Fetching Data"レッスンです。SQLiteConnector.phpでInvalidArgumentExceptionが発生しました。34:データベース(ホームステッド)が存在しません。

私はdatabase.sqliteファイルを作成しました。私はtinkerからいくつかのデータを追加し、それらをコンソールで取得できました。次に、私はビデオが何を複製しようとします。

マイカードコントローラ:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 

use App\Http\Requests; 

class CardsController extends Controller 
{ 
    public function index() 
    { 
     $cards = \DB::table('cards')->get(); 
     return view('cards.index', compact('cards')); 
    } 
} 

しかし、私は/カードのルートをロードしようとすると、私は次のエラーを持っている

InvalidArgumentException in SQLiteConnector.php line 34: 
Database (homestead) does not exist. 

これは

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=base64:P3ZgRMRkb2e8+x7S9rDLLB+bKJdR5Unpj8zXBUIHIZE= 
APP_URL=http://localhost 

DB_CONNECTION=sqlite 
DB_FILE=database.sqlite 


CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

REDIS_HOST=127.0.0.1 
REDIS_PASSWORD=null 
REDIS_PORT=6379 

MAIL_DRIVER=smtp 
MAIL_HOST=mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 
MAIL_ENCRYPTION=null 

答えて

2

envファイルですあなたのエラーで参照されているその行の下で、次のとおりです:

// Here we'll verify that the SQLite database exists before going any further 
    // as the developer probably wants to know if the database exists and this 
    // SQLite driver will not throw any exception if it does not by default. 
    if ($path === false) { 
     throw new InvalidArgumentException("Database (${config['database']}) does not exist."); 
    } 

この方法の上のコメントを見ると、パスが正しく設定されていないようです。私は、正しい環境変数があるべきと考えている:

DB_DATABASE=database/database.sqlite

代わりの

DB_FILE=database/database.sqlite

ない場合は、あなたのconfig/database.phpファイルをチェックして、このセクションを探します。

'sqlite' => [ 
     'driver' => 'sqlite', 
     'database' => env('DB_DATABASE', database_path('database.sqlite')), // this line! 
     'prefix' => '', 
    ], 
1

私はちょうど(MacでLaravelバージョン5.2.29で少なくとも)気づいたパスは絶対的なpでなければなりませんath。変わったことは、移行を実行すると相対パスが機能しますが、そのあとDBにアクセスしようとするとアプリケーションが失敗するということです

関連する問題