2017-05-08 5 views
1

ich schlanken Rahmen bin mit und ich versuche nur einen Wert aus der Datenbank in meinem Middleware zu überprüfen, aber ich habe einen Fehler:Kann nicht Eloquent innerhalb Schlanke Middleware verwenden

Message: Call to a member function connection() on null 

Dies ist meine Middleware Code:

->add(function ($request, $response, $next) { 

    $user = App\User::find($_SESSION['userid']); 

    if($user->permission == 1 ){ 
     $response = $next($request, $response); 
    }else{ 
     return $response->withRedirect('noPermission'); 
    } 

    return $response; 
}); 

ich füge diese zu meiner Gruppe

Dies ist, wie ich die eloquent in dependencies.php Datei initialisieren:

$container['db'] = function ($container) { 
    $capsule = new \Illuminate\Database\Capsule\Manager; 
    $capsule->addConnection($container['settings']['db']); 
    $capsule->setAsGlobal(); 
    $capsule->bootEloquent(); 
    return $capsule; 
    }; 

Es ist vielleicht der Code vor dem Aufbau einer Db-Verbindung ausführen!?

Vielen Dank für Hilfe

Hinweis: Ich kann in meiner Route

+0

Wo sehen Sie eloquent initialisieren? – jmattheis

+0

in der Datei dependencies.php – Oussaki

+0

Können wir diese Datei sehen? – meun5

Antwort

0

i löste dies nur durch die dependicies wie diese Datei bearbeiten:

$capsule = new \Illuminate\Database\Capsule\Manager; 
$capsule->addConnection($container['settings']['db']); 
$capsule->setAsGlobal(); 
$capsule->bootEloquent(); 
$container['db'] = function ($container) { 
    global $capsule; 
    return $capsule; 
}; 
1

Der Behälter noch die Kapsel von eloquent initialisierte nicht eloquent verwenden. Sie können dies selbst tun.

$container->get('db'); 

Tun Sie dies, nachdem Sie es dem Container hinzugefügt haben.

Verwandte Themen