Es ist eine Laravel-Website, die nur ein Problem mit den Tabellenpräfixen hat.Kapsel-Manager-Tabellenpräfixe werden nicht verwendet
Es ist eine MySQL-Tabelle von statischen Seiten hat cleaning_pages
genannt und in public/index.php
Ich habe folgendes setzen kurz vor dem Kernel
‚s Instanziierung:
use Illuminate\Database\Capsule\Manager as Capsule;
$capsule = new Capsule();
$capsule->addConnection([
'driver' => 'mysql',
'host' => 'somehost.com',
'database' => 'database',
'username' => 'username',
'password' => 'password',
'port' => 3306,
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => 'cleaning_',
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
Ich habe es das Präfix gegeben cleaning_
auf speichern zu müssen hässliche Klassennamen. Ich habe dann eine neue Eloquent Modellklasse genannt Page
, aber dann, wenn ich es wie so statisch an anderer Stelle nennen:
public function fetchPage($slug)
{
return \App\Models\Page::where('page_slug', '=', $slug)->get();
}
Es wirft eine QueryException
:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'database.pages' doesn't exist
Wenn aber nur rein aus Gründen der diese Prüfung, habe ich folgendes Recht in der index.php
Datei direkt nach den $capsule
Sachen von oben:
print_r(\App\Models\Page::where('page_slug', '=', $slug)->get());
Es quer ies der richtige Tisch in Ordnung. Ich dachte, dass die Methode Manager::setAsGlobal()
globalen statischen Zugriff ermöglichen sollte?