Disclosure: Dies ist meine erste dünne AppSchlanke 3 Eloquent Initialisierungsfehlers
Ich habe versucht Eloquent mit Slim 3, zu verwenden, aber ich kann es Arbeit zu kommen scheinen. Ich habe alles mit Composer installiert, gefolgt von der Installationsanleitung auf der Site.
Wenn ich versuche, meinen User-Modell zu verwenden (Wich erweitert das Eloquent Modell) erhalte ich einen fatalen Fehler: Fatal error: Call auf eine Elementfunktion Anschluss() auf null in **** \ Anbietern \ belichten \ Datenbank \ Eloquent \ Model.php on line 3280
Mein appconfig sieht wie folgt aus:
$config['db'] = [
'driver' => 'mysql',
'host' => '****',
'database' => '****',
'username' => '****',
'password' => '****',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
];
, die ich an die App übergeben entsprechend der Dokumentation:
$app = new \Slim\App(["settings" => $config]);
$container = $app->getContainer();
$container['db'] = function (ContainerInterface $container) {
$settings = $container->get('database');
$capsule = new \Illuminate\Database\Capsule\Manager;
$capsule->addConnection($settings);
$capsule->setAsGlobal();
$capsule->bootEloquent();
return $capsule;
};
Mein sieht User-Klasse wie folgt aus:
class User extends Illuminate\Database\Eloquent\Model {}
Ich habe eine Abhilfe auf Stackoverflow wie so gefunden:
Verwendung Illuminate \ Database \ Eloquent \ Modell als Eloquent; verwenden Illuminate \ Database \ Capsule \ Manager;
class User extends Eloquent {
public function __construct(Manager $capsule, array $attributes = [])
{
parent::__construct($attributes);
}
}
Aber wenn ich den Konstruktor überschreiben, nach dem Port i einen anderen Fehler:
_Catchable fataler Fehler: Argument 1 bestanden Up \ models \ User :: __ construct() muss eine Instanz sein, Illuminate \ Database \ Capsule \ Manager, keine Angabe, in **** \ vendor \ illuminate \ database \ Eloquent \ Model.php in Zeile 644 aufgerufen und in **** \ models \ User.php in Zeile 14_
definiertIch bin jetzt fest. Bitte helfen
'$ Kapsel-> addConnection ($ container-> get ('Datenbank'));'! = '$ Kapsel-> addConnection ($ config ['db']);' – danopz