web-dev-qa-db-ja.com

Laravel 5.2でページURLパラメーターをコントローラーに渡す

私のアプリケーションには、ルートindex.blade/indexというページがあります。そのURLには、?order?typeなどのgetパラメータがあります。

これらの$_getパラメーターをルートコントローラーアクションに渡し、DBからクエリを実行して、その結果データをインデックスページに渡します。私は何をすべきか?

5
Abolfazl

getまたはpostリクエストから送信されたデータにアクセスする場合は

public function store(Request $request)
{
    $order = $request->input('order');
    $type = $request->input('type');
    return view('whatever')->with('order', $order)->with('type', $type);
}

ワイルドカードを使用することもできます。

例のリンク

website.dev/user/potato

ルート

Route::put('user/{name}', 'UserController@show');

コントローラー

public function update( $name)
{
    User::where('name', $name)->first();
    return view('test')->with('user', $user);
}

Laravel Docs Requests を確認してください。

10
Achraf Khouadja

URLの一部をパラメーターとして渡す必要がある場合(laravel 6.xでテスト済み、おそらくlaravel 5.x)で動作します):

ルート

Route::get('foo/{bar}', 'FooController@getFoo')->where('bar', '(.*)');

コントローラー:

class FooController extends Controller
{
    public function getFoo($url){
    return $url;
    }
}

テスト1:

localhost/api/foo/path1/path2/file.gifはコントローラーに送信し、以下を返します。

path1/path2/file.gif

テスト2:

localhost/api/foo/path1/path2/path3/file.docはコントローラーに送信し、以下を返します。

path1/path2/path3/file.doc 

等々...

0
Fellipe Sanches