Rufen Sie an eine member-Funktion setCookie() auf null
Ich versuche dies zu beenden middleware in Larven, die überprüft, um sicherzustellen, ist abonniert, um ein Abonnement. Wenn der Benutzer nicht umgeleitet auf die Seite der Bezahlung.
public function handle($request, Closure $next)
{
if(Auth::check()){
if (Auth::user()->subscribed('main')) {
return true;
}else{
return view('payments.payment')->with('user',Auth::user());
}
}else{
abort(403, 'Unauthorized action.');
}
return $next($request);
}
Ich bin immer diese Fehlermeldung mit nicht viel Glück eine Lösung zu finden, Rufen Sie an eine member-Funktion setCookie() auf null.
fügen Sie den vollständigen Fehler-Skript
InformationsquelleAutor John Freedom | 2018-02-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, wo sind Sie wieder
true
. Eine middleware sollte eine Antwort zurück-style-Objekt, nicht ein boolean.Da, die Ihre "guten" Weg und Sie fortfahren möchten, mit Ihrer Anwendung die Logik, die Sie ersetzen sollten
return true;
mitreturn $next($request);
Auf eine unabhängige Empfehlung, Sie bereinigen kann Ihr bedingte Logik ein wenig, um Ihren code leichter zu Lesen/Folgen:
return redirect()->route('route.to.payments.payment');
InformationsquelleAutor Aken Roberts