Framework: Problem mit eloquentem Modell namens Media

Erstellt am 9. Mai 2015  ·  3Kommentare  ·  Quelle: laravel/framework

Ich hatte Probleme in meiner App mit einem „Media“-Modell. Um zu überprüfen, ob das Problem in etwas liegt, das ich getan habe, habe ich eine neue Laravel-Installation erstellt. Dann habe ich genau die folgenden Schritte durchgeführt:

php artisan make:migration create_medis_table --create=medis
php artisan make:model Medi --no-migration

php artisan make:migration create_medias_table --create=medias
php artisan make:model Media --no-migration

php artisan migrate

serve testing.app /home/vagrant/Projects/testing/public

Dann habe ich in meiner routes.php Folgendes getan:

Route::get('/', function(){

    // dd(\App\Medi::first()); //got null
    dd(\App\Media::first()); //got the following error

});
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'homestead.media' doesn't exist (SQL: select * from `media` limit 1)

Habe ich etwas falsch gemacht?

PS: Ich habe das Medi-Modell nur als "Kontrollgruppe" erstellt

Hilfreichster Kommentar

Das liegt daran, dass Laravel ziemlich gut darin ist, Pluralformen herauszufinden. media ist bereits der Plural von medium , also geht Eloquent davon aus, dass Ihre Tabelle media heißt. Ändern Sie das entweder oder fügen Sie Ihrem Modell protected $table = 'medias' hinzu.

Alle 3 Kommentare

Das liegt daran, dass Laravel ziemlich gut darin ist, Pluralformen herauszufinden. media ist bereits der Plural von medium , also geht Eloquent davon aus, dass Ihre Tabelle media heißt. Ändern Sie das entweder oder fügen Sie Ihrem Modell protected $table = 'medias' hinzu.

Ich habe die Eigenschaft $table bereits festgelegt. Ich habe nur versucht zu verstehen, warum das passiert ist. Ich danke dir sehr!

Danke! Ich verliere nur ein paar Stunden damit, herauszufinden, warum mein "Equipment" -Modell nicht funktioniert.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen