Ich habe ein kleines Problem. Es gibt zwei Benutzerrollen und eine ist ein normales Mitglied und eine ist ein Administrator. Das Mitglied kann einen Blog löschen und das Blog wird nicht mehr angezeigt, nachdem es gelöscht (gelöscht) wurde, während der Administrator das Blog weiterhin sehen kann, selbst wenn es gelöscht wurde.Laravel - Implizite Route Modellbindung mit weichen gelöschten Daten
Beispielcode:
// Route file
Route::get('/blog/{blog}', '[email protected]');
// BlogController
public function show(App\Blog $blog) {
// It never gets to here if the blog has been soft deleted...
// Automatically throws an 404 exception
}
Ich möchte der Administrator der Lage sein, den Blog zu besuchen, auch wenn es weich gelöscht ist, aber es funktioniert nicht wirklich. Ich versuche, den Route Service Provider zu bearbeiten, aber ich habe kein Glück bekommen, da es mir nicht die Auth::user()
Funktion erlaubt, den angemeldeten Benutzer zu bekommen, damit ich überprüfen kann, ob sie die Erlaubnis haben.
Mein RouteServiceProvider
$router->bind('post', function($post) {
if (Auth::user()->isAdmin()
return Post::withTrashed()->where('id', $post)->firstOrFail();
});
Das funktioniert nicht, da sie nicht weiß, was Auth::user()
ist. Ich habe Auth
Fassade importiert, funktioniert aber immer noch nicht.
Edit: Es gibt mir einen null
Wert, wenn ich dump und sterben Auth::user()
.
Jede Hilfe wird sehr geschätzt.
Was bedeutet „es nicht lassen Sie mich“ bedeuten? Fehlermeldung, ... ? – Nick
Sorry, ich habe die Frage aktualisiert. Aber es sagt nur null und sagt, kann die Funktion auf Null nicht überprüfen .. –