Wie kann man eine Controller-Aktion von Blade in Laravel 5.1 aufrufen?

8

Ich versuche in Laravel 5.1 die Controller-Aktion innerhalb der Ansicht aufzurufen, aber ich kann dies nicht tun.

Hier ist, was ich bisher versucht habe:

%Vor%

aber es gibt Klasse 'BridesController' nicht gefunden Fehler.

    
Amrinder Singh 14.08.2015, 10:53
quelle

3 Antworten

7

Um eine Ausgabe einer fremden Aktion innerhalb der Ansicht zu rendern, die zu Ihrer aktuellen Aktion gehört, müssen Sie die auswärtige Aktion von Ihrer aktuellen Aktion aufrufen und dann ihre Ausgabe in einer Variablen speichern und an Ihre aktuelle Ansicht übergeben.

Aktionen von demselben Controller aufrufen

Wenn sich die Aktion, die Sie rendern möchten, in demselben Controller befindet, den Sie verwenden, können Sie Folgendes aufrufen:

%Vor%

Und dann, in deiner Sicht, nur:

%Vor%

Achten Sie darauf, dass nicht gerendert wird , wenn Sie diese Methode verwenden, weil {!! !!} -Tags werden keine gefährlichen Eingaben machen. Wenn Sie in Ihrer Aktionsantwort keinen HTML-Code benötigen, verwenden Sie stattdessen lieber {{}}.

Aktionen von einem anderen Controller aufrufen

Wenn Sie eine Methode für mehr als einen Controller freigeben möchten, besteht die sauberste Möglichkeit darin, ein Merkmal oder einen Job zu erstellen, der die Logik implementiert, und dann würden beide Controller das Merkmal verwenden oder denselben Job senden.

Siehe Shaddy's Antwort auf diese Frage für weitere Informationen.

Ich hoffe, es hilft. ;)

    
Rafael Beckel 15.08.2015, 14:03
quelle
4

Sie können dies tun:

%Vor%

Natürlich, wenn Sie Blade verwenden, können Sie dies tun

%Vor%

Sie können es hier überprüfen Ссылка

    
Marcus Jason 13.11.2015 15:32
quelle
2

Wenn Sie Ihre eigene Fassade erstellen, können Sie dies tun.

Controller:

%Vor%

// Darf es ein Dienstleister sein?

config / app.php

%Vor%

Und dann können Sie in Ihrer Ansicht verwenden.

%Vor%

Ich habe es nicht getestet, aber ich denke, das sollte funktionieren.

    
Beller 10.11.2015 10:30
quelle

Tags und Links