Der Inhalt dieses Artikels befasst sich mit der Lösung des Benennungsproblems des Modulnamens „gehörtToMany()“ in thinkphp5. Ich hoffe, dass es für Sie hilfreich ist.
Ich bin kürzlich auf ein Problem gestoßen, als ich TP5 zur Entwicklung eines CRM-Backend-Managementsystems verwendet habe. Bei der Verwendung verwandter Abfragen (Many-to-Many) wird die Funktion „gehörtZuMany“ verwendet, um anzuzeigen, dass das Modell nicht existiert ein Blick auf das konkrete Problem.
Meine Verwendung im Projekt
Werfen wir einen Blick auf mein Modell in TP5 Layer
f_role ist ein Assoziationsmodell
ref_user_role ist eine Zwischentabelle (eine Viele-zu-viele-Beziehung erfordert eine Zwischentabelle)
role_id Fremdschlüsselname
user_id ist der Primärschlüssel von f_user
Diese Schreibmethode ist vollständig gemäß dem Handbuch geschrieben. Theoretisch gibt es überhaupt kein Problem, aber beim Ausführen wird ein Fehler gemeldet:
Es wird dazu aufgefordert Das FUser-Modul existiert nicht, aber mein Modulname ist f_user Eine Benennungsmethode.
Der Grund dafür ist, dass es ein Problem mit den Benennungsregeln des Modulnamens gibt.
Nach kurzem Debuggen haben wir die Ursache des Problems gefunden:
Die Methode „parseModel“ in der Methode „gehörtToMany“ in thinkphp/think/model.php muss geändert werden
Ändern Sie einfach die 1 im Bild in 0. Der Grund dafür ist, dass das Bild unten
Ändern Sie einfach die Benennungsstil
Ändern Sie abschließend den Benennungsstil und führen Sie den Test erneut durch.
Daten abrufen (einschließlich zugehöriger Daten können erfolgreich abgerufen werden).
Das obige ist der detaillierte Inhalt vonLösung des Namensproblems des Modulnamens „gehörtToMany()' in thinkphp5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!