0

私はlaravelが初めてで、次のことを行う方法を理解しようとしています:

次のようなルートがあります。

Route::resource('users', 'UsersController');

そして、次のようなクエリを使用します。

public function show()
{
    $users = DB::select('select * from users WHERE Active = "Y"');
    return View::make('users.show')->with('users', $users);
}

そして、それはうまく表示されます。しかし、ビューの結果の上には、名前や姓で検索できるフォームがあります。laravelでこれを行う方法がわかりません。これらのオプションの検索パラメーターを期待する別の関数が必要なのか、それとも show 関数を使用して値をチェックするだけなのか、よくわかりません。

4

1 に答える 1

0

Laravel/user?name=Johnはセキュリティ上の理由からすべての GET クエリ パラメータ ( ) を削除するため、POST を使用するか、ルート パラメータとして渡す必要があります ( /user/John)。

POST を使用すると、 Inputにアクセスできます。次のようなデフォルト値を提供できます。

Route::post('user', function()
{
    return Input::get('name', 'John');
});

ルート パラメーターについては、次のようなオプションのパラメーターを定義できます。

Route::get('user/{name?}', function($name = 'John')
{
    return $name;
});

これでリソース コントローラを使用することはできません。カスタム エンドポイントを定義できないためです。ID による基本的な GET/POSTだけです。

ルート定義でルート ハンドラーを定義するのが好きではないことはわかっています。そのためのRESTful コントローラーがあります。

于 2013-09-06T21:18:50.863 に答える