Wie kann man das laravel 5.2 dieser Fehler "Maximum function nesting level of '100' reached, aborting!"?
Ich versuche, zurücksetzen Passwort von laravel automatisch generierten login/register authentication Modul. Wenn ich auf reset-Taste es gibt mir diese Fehler
FatalErrorException in ClassLoader.php line 344:
Maximum function nesting level of '100' reached, aborting!
Suchte ich darüber und finden eine akzeptierte Antwort, aber diese Antwort ist nicht auf meiner Seite, ich folgte der Anweisung. Kann irgend jemand mich leiten es ist laravel Fehler oder wamp ? und wie man es beheben kann. Ich möchte zu schätzen wissen.
- Sie müssen die Initialisierung der Klasse a im Konstruktor der Klasse B und der Klasse A muss die Initialisierung der Klasse B, und so stucks in der forever-Schleife Können Sie Ihre code, so dass ich kann genau sehen, was Los ist.
- Ich installiere einfach laravel 5.2 Authentifizierung-Modul, es ist kein zusätzlicher code.
- Das sollte helfen: laracasts.com/forum/...
- Ich habe diesen Fehler jetzt. alle Lösungen noch?
- Möglich, Duplikat der Maximale function nesting level of '100' reached, aborting nach dem Umstieg auf Laravel 5.1
- In meinem Fall ist es verursacht, wo ich erklären, in meiner Model-Klasse, die
protected $with = ['relationship1', 'relationship2'];
in Laravel 5.6 - stehen Sie vor demselben problem in 5,6?
- Ja. Ich habe gerade herausgefunden, warum dies passiert ist: ich habe diese eins-zu-viele-Beziehung. Das heißt, im Modell
Research
ich habe eine Liste. Und inSubject
Modell habe ich eine andere Liste von Themen, die gehören zu einem bestimmten register der Forschung. Gut, mit der Erklärungprotected $with = ['relationships'];
auf beiden Seiten verursachen dieseMaximum function nesting level
Fehler. Also habe ich Sie verlassen, nur ein$with
, in einem dieser beiden Modelle, und der Fehler geht Weg.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem verursacht wird standardmäßig xdebug.max_nesting_level die 100.
Den workaround für jetzt ist zu erhöhen xdebug.max_nesting_level zu einem gewissen Grad sagen, die 200 oder 300 oder 400.
Ich fest mine durch erhöhen xdebug.max_nesting_level 120, durch das hinzufügen der Zeile unten, um
bootstrap/autoload.php
im Laravel 5.1............
In meinem Fall, dass ich versehentlich zugewiesen, die den gleichen Namen für beide eine Klasse Methode und ein importiertes Merkmal, resultierend in einer Schleife von $this->doThis() --> $this->doThis() --> $this->doThis() --> $this->doThis()...
Hatte ich diese beim Aufruf
auf eine
User
Modell, das hat einen Bezug zuAddress
Modell, wenn dieAddress
Modell hat einen Bezug zu der gleichenUser
Modell... es war eine Schleife.War es eine Schleife, die gebrochen hat -
toArray()
Den Fehler hab ich auf meinem Laravel 5.7 wurde:
Lösung
gehe zu Adresse, Modell und fügen Sie den protected-Attribut
laravel-5.2
aber danke, dass du so viel behalte ich im Auge die Lösung in meinem zukünftigen Projekten. Ich SchätzeEinfach die Zeile
in der Datei bootstrap/autoload.php in der Laravel 5.2
Funktioniert gut für mich.
Üblicherweise geschieht dies, weil Sie be die Relationen aus den zwei Modellen auf einmal von so etwas wie
$with
Eigenschaft.Sagen wir, der eine
Category
hasManyProduct
und einProduct
belongsTo eineCategory
.Wenn in beiden Modellen laden Sie die Beziehungen standardmäßig so:
in
Product
Modell$with=['category']
imCategory
Modell$with=['products']
dies hätte zur Folge, diese unendliche Verschachtelung. So, um dieses Problem zu lösen laden Sie die Beziehungen, wenn nur wollte.
Hatte ich einen Globalen Gültigkeitsbereich auf meine Benutzer-Modell, das verwendet Auth::check(), so dass eine Schleife.