übergeben möchte ich eine Middleware einrichten, um zu überprüfen, ob der Benutzer ein Abonnent der Seite ist, auf der sie sich befinden. Ich habe ein paar Optionen ausprobiert, aber beide mussten die URL an die Middleware übergeben.Ist es möglich, und wenn ja, wenn ich einen variablen Parameter an eine Middleware in Laravel
Die Strecke
Route::get('premium/{id}', function ($id) {
return $id;
})->middleware('subscribe:{$id}');
Die Middleware
public function handle($request, Closure $next, $subscribe)
{
//dd($subscribe);
$c = DB::table('suscribes')->where('user_id', $request->user()->id)->where('subscribed_to', $subscribe)->count();
return $next($request);
}
Die oben $ gibt abonnieren offensichtlich eine Reihe von {$ id} sondern haben versucht, verketten. Gibt es einen besseren Weg?
Da ich Kasse und Streifen verwende, habe ich auch versucht, einen neuen Plan für jeden Benutzer einzurichten. From docs.
public function handle($request, Closure $next)
{
if ($request->user() && ! $request->user()->subscribed('main')) {
// This user is not a paying customer...
return redirect('billing');
}
return $next($request);
}
Aber ich brauche noch die Variable 'main' zu übergeben.