Benutzer-Werkzeuge

Webseiten-Werkzeuge


laravel:troubleshooting

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
laravel:troubleshooting [2019/10/03 19:29]
webproducer Unknown Column 'updated_at'
laravel:troubleshooting [2020/08/22 22:24]
webproducer 419 - Page Expired
Zeile 5: Zeile 5:
 ---- ----
  
-**SQLSTATE 42000**+==== SQLSTATE 42000 ====
  
 Wenn bei Ihnen beim Ausführen von Artisan-Kommandio "​migrate"​ der SQLSTATE 42000 auftreten sollte hilft der auf der folgenden Seite beschriebene Fix: https://​laravel-news.com/​laravel-5-4-key-too-long-error Wenn bei Ihnen beim Ausführen von Artisan-Kommandio "​migrate"​ der SQLSTATE 42000 auftreten sollte hilft der auf der folgenden Seite beschriebene Fix: https://​laravel-news.com/​laravel-5-4-key-too-long-error
Zeile 11: Zeile 11:
 ---- ----
  
-**Foreign key constraint is incorrectly formed**+==== Foreign key constraint is incorrectly formed ​====
  
 Mögliche Ursache 1: Mögliche Ursache 1:
Zeile 28: Zeile 28:
 ---- ----
  
-**ReflectionException : Class does not exist**+==== ReflectionException : Class does not exist ====
  
 Sollte beim ersten Versuch, einen Seed anzulegen diese Fehlermeldung auftreten kann das Kommando „composer dump-autoload“ (z. B. in PHPStorm unter „Tools“ ⇒ „Composer“ ⇒ „Dump Autoloader…“ ausführbar) abhilfe schaffen. Sollte beim ersten Versuch, einen Seed anzulegen diese Fehlermeldung auftreten kann das Kommando „composer dump-autoload“ (z. B. in PHPStorm unter „Tools“ ⇒ „Composer“ ⇒ „Dump Autoloader…“ ausführbar) abhilfe schaffen.
Zeile 34: Zeile 34:
 ---- ----
  
-**Unknown Column '​updated_at'​**+==== Unknown Column '​updated_at'​====
  
 Es macht längst nicht bei jeder Datenbank-Tabelle Sinn, die von Laravel angebotenen Timestamps zu setzen. Wenn in einer Migration die Timestamps '​created_at'​ und '​updated_at'​ durch die Funktion '​$table->​timestamps();'​ NICHT gesetzt wurden, muss auch das Eintragen in dem zugehörigen Model wie im folgendem Beispiel deaktivert werden: Es macht längst nicht bei jeder Datenbank-Tabelle Sinn, die von Laravel angebotenen Timestamps zu setzen. Wenn in einer Migration die Timestamps '​created_at'​ und '​updated_at'​ durch die Funktion '​$table->​timestamps();'​ NICHT gesetzt wurden, muss auch das Eintragen in dem zugehörigen Model wie im folgendem Beispiel deaktivert werden:
Zeile 47: Zeile 47:
  
 Wichtig hierbei ist, dass "​timestamps"​ auch wirklich auf die Sichtbarkeit "​public"​ gesetzt wird. Andernfalls gibt es eine entsprechende Fehlermeldung. Wichtig hierbei ist, dass "​timestamps"​ auch wirklich auf die Sichtbarkeit "​public"​ gesetzt wird. Andernfalls gibt es eine entsprechende Fehlermeldung.
 +
 +----
 +
 +==== Datensatz wird nicht aktualisiert (es kommt aber keine Fehlermeldung) ====
 +
 +Wenn ein Datensatz nach der "​save"​-Funktion auf einem Model nicht aktualisiert wird und (leider) keine Fehlermeldung von Laravel ausgegeben wird kann es sein, dass der Primary-Key nicht korrekt ist. Das passiert z. B., wenn eine bereits bestehende Tabellenstruktur in Laravel übernommen wird. Eloquent erwartet als Primary-Key Standardmäßig ein kleingeschriebenes "​id"​. Wenn die id der Tabelle jedoch groß geschrieben ist kann das Model um folgende Zeile ergänzt werden:
 +
 +<code php>
 +protected $primaryKey = '​ID';​
 +</​code>​
 +
 +----
 +
 +==== 419 - Page Expired ====
 +
 +Sollte beim Aufruf einer Route der HTTP-Fehler 419 (Page Expired) zurückgegeben werden kann es an einem fehlenden CSRF-Token liegen. Zwei Lösungsvorschläge hierzu:
 +
 +  - Ergänzen Sie Ihr Formular um den notwendigen CSRF-Token oder
 +  - Wenn die Anfrage von außen kommt und es keine Möglichkeit gibt den Token mitzuliefern (z. B. bei einem API-Aufruf) kann diese Route von der Überprüfung des Tokens ausgeschlossen werden.
 +
 +Beide Lösungsmögichkeiten werden [[laravel:​csrf|hier ausführlich erklärt]].
laravel/troubleshooting.txt · Zuletzt geändert: 2020/08/22 22:24 von webproducer