0
ミドルウェアを設定して、ユーザが自分がいるページのサブスクライバであるかどうかを確認したいと考えています。私はいくつかのオプションを試しましたが、どちらもURLをミドルウェアに渡す必要があります。上記$は明らか加入Laravelのミドルウェアに変数パラメータを渡すことが可能かどうか。
ルート
Route::get('premium/{id}', function ($id) {
return $id;
})->middleware('subscribe:{$id}');
ミドルウェア
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);
}
は、{$のID}の文字列を返すが、連結しようとしています。より良い方法がありますか?
私はキャッシャーとストライプを使用しているので、私は各ユーザーのために新しい計画を立ててみました。 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);
}
しかし、変数を 'main'に引き渡す必要があります。