ルート内のLaravel5の複数のオプションパラメータ

メガストーム

Laravel 5に問題があります。正確には、解決策が見つかりません。C#(ASP.NET MVC)では、簡単に解決できます。たとえば、これらのルートがあります(簡単にするために、ルートの内容と関数ヘッダーを入力するだけです)。

/{category}/Page{page}
/Page{page}
/{category}

関数は製品コントローラー内で定義されます。関数ヘッダーは次のようになります。

public function list($page = 1, $category = null)

問題は、引数を1つだけ入力すると、ルートで設定した名前でパラメーターの値が送信されず、関数パラメーターの順序で値がプッシュされることです。したがって、/ Page1を開くと、正しく機能し、値1が$ page変数に送信されますが、/ Golf(その場で作成)にアクセスすると、値も$ page変数に送信されます。これを回避する方法について考えられるアイデアはありますか、それともこれらのケースを処理するために別の関数を作成する必要がありますか?

C#では、値を適切に送信し、未定義のパラメーターのデフォルト値を保持します。

あなたが私に答えを持っていることを願っています。よろしくお願いします。良い一日を。

BizzyBob

したがって、これまで見てきたように、パラメーターは名前ではなく順番に関数に渡されます。

目的を達成するために、次のようにリクエストオブジェクトをヒントとして入力することにより、関数内からこれらのルートパラメータにアクセスできます。

class ProductController extends Controller
{
    function list(Request $request){  # <----------- don't pass the params, just the request object

        $page = $request->route('page');   # <--- Then access by name
        $category = $request->route('category');

        dd("Page: $page | Category: $category");
    }
}

次に、もちろん、3つのルートすべてを同じコントローラーメソッドにヒットするように設定します。

Route::get('/{category}/Page{page}', 'ProductController@list');
Route::get('/Page{page}', 'ProductController@list');
Route::get('/{category}', 'ProductController@list');

お役に立てれば..!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ルートのオプションパラメータ - Laravel 5

分類Dev

Laravel 5:ルートオプションのパラメーターの問題

分類Dev

Angular-複数のオプションのルートパラメータ

分類Dev

Rails3ルートと複数のオプションパラメータ

分類Dev

laravel5.3ルートで機能しない複数のオプションパラメータ

分類Dev

複数のオプションパラメータを使用したLaravelルート

分類Dev

TypeScriptの複数のオプションパラメータ

分類Dev

レポートの複数のオプション パラメータ

分類Dev

複数のオプションパラメータのHtaccessリライト

分類Dev

複数のオプションパラメータルーティング

分類Dev

Laravel5のオプションのパラメーターを含むURLの2つのスラッシュ

分類Dev

Laravelルートのオプションパラメータの問題

分類Dev

ルート内のSymfonyfosrestbundleオプションパラメーター

分類Dev

コントローラーの複数のオプションパラメーター

分類Dev

Swift関数のデフォルトのオプションパラメータ

分類Dev

ReactJSルートオプションのIDURLパラメータ

分類Dev

Laravelのオプションのルーティングパラメーター

分類Dev

VBAの複数のオプション機能パラメーター

分類Dev

Javascript:関数内のオプションのパラメーター

分類Dev

複数のオプションパラメータを持つ関数へのWebAPIルーティング

分類Dev

Laravelルートのオプションパラメーターをコントローラーに

分類Dev

Go /オプションパラメータの複数のコンストラクタ?

分類Dev

角度UIルーターを使用した複数のオプションパラメーター

分類Dev

Laravelの複数のオプションパラメータが機能しない

分類Dev

Javascript関数のオプションのパラメーター

分類Dev

C#オプションのパラメーター/複数必要

分類Dev

アクションルートオプションのIDパラメータ

分類Dev

複数のオプションパラメータを備えたAngularUIルーター

分類Dev

RESTfulAPI-オプションのパラメーターとオーバーロードと複数のルート

Related 関連記事

  1. 1

    ルートのオプションパラメータ - Laravel 5

  2. 2

    Laravel 5:ルートオプションのパラメーターの問題

  3. 3

    Angular-複数のオプションのルートパラメータ

  4. 4

    Rails3ルートと複数のオプションパラメータ

  5. 5

    laravel5.3ルートで機能しない複数のオプションパラメータ

  6. 6

    複数のオプションパラメータを使用したLaravelルート

  7. 7

    TypeScriptの複数のオプションパラメータ

  8. 8

    レポートの複数のオプション パラメータ

  9. 9

    複数のオプションパラメータのHtaccessリライト

  10. 10

    複数のオプションパラメータルーティング

  11. 11

    Laravel5のオプションのパラメーターを含むURLの2つのスラッシュ

  12. 12

    Laravelルートのオプションパラメータの問題

  13. 13

    ルート内のSymfonyfosrestbundleオプションパラメーター

  14. 14

    コントローラーの複数のオプションパラメーター

  15. 15

    Swift関数のデフォルトのオプションパラメータ

  16. 16

    ReactJSルートオプションのIDURLパラメータ

  17. 17

    Laravelのオプションのルーティングパラメーター

  18. 18

    VBAの複数のオプション機能パラメーター

  19. 19

    Javascript:関数内のオプションのパラメーター

  20. 20

    複数のオプションパラメータを持つ関数へのWebAPIルーティング

  21. 21

    Laravelルートのオプションパラメーターをコントローラーに

  22. 22

    Go /オプションパラメータの複数のコンストラクタ?

  23. 23

    角度UIルーターを使用した複数のオプションパラメーター

  24. 24

    Laravelの複数のオプションパラメータが機能しない

  25. 25

    Javascript関数のオプションのパラメーター

  26. 26

    C#オプションのパラメーター/複数必要

  27. 27

    アクションルートオプションのIDパラメータ

  28. 28

    複数のオプションパラメータを備えたAngularUIルーター

  29. 29

    RESTfulAPI-オプションのパラメーターとオーバーロードと複数のルート

ホットタグ

アーカイブ