2016-07-17 12 views
2

DB::connection('mongodb')->getPdo()私はDB::connection('mongodb')->getPdo()を使用してデータベースが接続されているかどうかを確認しています(phpunitでスキップされていないと判断された場合)->getPdo()は常にnullを返します。接続は、php artisan migrateを使用して新しいコレクションを作成し、コレクションにデータを挿入できるということで証明されています。Laravel mongodb - > getPdo()return null

環境:

OS:Windowsの10が動作してMAMP 3.2.0

laravel:5.2.37

jenssegers/MongoDBは:3.0.2

編集1:から返されたオブジェクトを追加します。使用例DB::connection('mongodb')->getMongoDB()->connected

MongoDB\Collection {#647 
+collectionName: "connected", 
+databaseName: "destinycore", 
+manager: MongoDB\Driver\Manager {#640}, 
+readConcern: MongoDB\Driver\ReadConcern {#642}, 
+readPreference: MongoDB\Driver\ReadPreference {#643}, 
+typeMap: [ 
    "array" => "MongoDB\Model\BSONArray", 
    "document" => "MongoDB\Model\BSONDocument", 
    "root" => "MongoDB\Model\BSONDocument", 
], 
+writeConcern: MongoDB\Driver\WriteConcern {#644}, 
} 

答えて

1

confそれを使用して、それは実際に正しいです。この接続クラスは、Laravelによって提供される基本クラスから拡張されています。これはMongoDB接続であるため、PDOインスタンスを返しません。実際には、PDOはSQL関連のデータベースでのみ使用されます。このパッケージの「未処理」接続を探している場合はgetMongoDBメソッドを使用し、MongoDB\Clientインスタンスを返します。

+0

これが理由です。 – theminer3746

+0

とにかく、データベースへの接続が確立されているかどうかを確認することが必要です。これは私の統合テストのヘルパーメソッドです。基本的に、接続が確立できない場合、phpunitはテストをスキップします。 それを手伝う方法はありますか? – theminer3746

+0

- > getMongoDB() - > connectedプロパティがtrueであるかどうかを確認できます。公開されています。 –