2

POST のみとしてルーティングされる ReportController インデックスがあります。

public function index() // must have start, end, client
{
    $start  = Input::get('start'); // <<< This are POST variables
    $end    = Input::get('end');   // <<< This are POST variables
    $client = Input::get('client'); This are POST variables

    db request... output view..

}

「行の削除」をクリックすると、情報が投稿されます

public function deleteRow()
{
    db request -> delete();
    //How do I go back to index controller and pass same $_POST['start'],$_POST['end'],$_POST['client']
}

インデックス コントローラに戻り、同じ $_POST['start'],$_POST['end'],$_POST['client'] を渡すにはどうすればよいですか?

4

2 に答える 2

2

ビューからメソッドに別のリクエストを行うと、投稿変数は使用できなくなるdeleteRowため、これらの変数をメソッドに渡す必要がありますdeleteRow。次のようなメソッドから構築view/uiしますindex

public function index() // must have start, end, client
{
    $start  = Input::get('start');
    $end    = Input::get('end');
    $client = Input::get('client');

    db request... output view.. // <-- Outputs view with "delete row" link
}

これらの変数をこのビューに渡すことを願ってpostいます。そうでない場合は、それらの変数をこのビューに渡し、delete rowこれらとのリンクを構築しvariablesます。

"ReportController/deleteRow/$start/$end/$client" // just an idea

つまり、deleteRowメソッドは次のようになります (これのルーティングも変更します)。

public function deleteRow($start, $end, $client)
{
    // db request -> delete();
    return Redirect::to('index')
    ->with('postVars', array('start' => $start, '$end' => $end, 'client', $client));
}

deleteRowしたがって、これらの変数をメソッドに渡す必要があることは明らかです。そのため、deleteRowメソッドrouteは に従って再構築する必要がありparamsます。したがって、最終的に、indexメソッドは次のようになります

public function index() // must have start, end, client
{
    $postVars = session::has('postVars') ? session::get('postVars') : Input:all();
    $start = $postVars['start'];
    $end = $postVars['end'];
    $client = $postVars['client'];

    db request... output view..

}
于 2013-09-27T00:38:03.183 に答える