2014-10-14 9 views
5

injizieren Ich möchte DB-Klasse für die Transaktion mit IoC-Container verwenden.Wie Datenbank in Konstruktor mit Laravel IoC

use Illuminate\Database\Connection as DB; 
public function __construct(DB $db) 
{ 
    $this->db = $db; 
} 

Aber wenn DB-Klasse verwenden, habe ich einen Fehler.

Unresolvable dependency resolving [Parameter #0 [ <required> $dsn ]] in class PDO 

Ich weiß, muss etwas binden, aber ich weiß nicht was?

Antwort

7

Sie benötigen

use Illuminate\Database\Connection as DB; 

in

use Illuminate\Database\DatabaseManager as DB; 

ich Sie DB Fassade hier verwenden können, aber man kann in der Tat nicht gedacht, zu ändern. Sie müssen hier Klasse übergeben, die hinter der Fassade ist Blick auf http://laravel.com/docs/4.2/facades#facade-class-reference

+0

Ich kann nicht verwenden, Fassade, da diese Fehlermeldung: '' 'Aufruf an undefinierte Methode Illuminate \ Support \ Fassaden \ DB :: beginTransaction()' '' – armani

+0

@armani Ich habe meine Antwort aktualisiert –

+0

danke, greate. – armani