0

私は Laravel 5.2 プロジェクトに取り組んでおり、ユーザー、フラグ、国があります。私が達成しようとしているのは、各ユーザーがフラグメニューをクリックできるようにすることであり、ユーザーがいる国のフラグのリストを表示する必要があります.

したがって、ユーザーはcountry_idを持っています

フラグには country_id があります。

現時点では、各ユーザーとそれぞれの国のフラグを表示できます。

これがルートです。

 Route::get('flags/{Country_id}','FlagController@showFlags');

景色

<a href="flags/{{Auth::user()->country_id}}">

そして私のコントローラー

public function showFlags($id)
{

    $country = new Country;
    $country = $country->find($id);

    $flags = $country->flags;


    return view('layouts.f.mainf',compact('flags'));

}

問題は、URL の郡 ID を別のものに変更すると、別の国の国旗が表示されることです。ユーザーの国が URL の国 ID と一致する場合にのみアクセスできるようにするにはどうすればよいですか? ミドルウェアについて読んだことがありますが、正直なところ、その使用方法がわかりません。

4

1 に答える 1

1

ここではミドルウェアは必要ないと思います。単にこれを行うだけです

public function showFlags($id)
{
    if($id != \Auth::user()->country_id)
    {
        throw new ProperException;
    }
    $country = new Country;
    $country = $country->find($id);

    $flags = $country->flags;
    return view('layouts.f.mainf',compact('flags'));
}
于 2016-03-21T21:34:58.083 に答える