写真ギャラリー アプリには 4 つのルートがあります。それらはすべて同じことを行います: データベースにクエリを実行し、画像をレンダリングします。それらの唯一の違いは、レコードの順序です。例えば:
http://example.com/favorites : shows pics ordered by favorites
http://example.com/random : shows pics ordered by random
http://example.com/votes : shows pics ordered by votes
http://example.com/views : shows pics ordered by views
このために、ギャラリー コントローラーで 1 つのアクションを使用し、注文をパラメーターとして渡します。
私はこのルートを作成できることを知っています:
Route::get('/{orderby}', 'GalleryController@showPics')
次に、コントローラーからパラメーターを取得します。
class GalleryController extends BaseController
{
public function showPics($orderby)
{
//query model ordering by $orderby and render the view
}
}
問題は、example.com/whatever をキャプチャしたくないことです。これら 4 つの特定のルートのみをキャプチャします。
ルートからコントローラー アクションにパラメーターを渡す方法はありますか。または、代わりに、コントローラーから現在アクセスされているルートを読み取るには?