Hvordan går jeg en parameter til en kontroller handling innenfor et Laravel pakke?

stemmer
18

Innenfor en Laravel pakke jeg gjort, vil jeg ønsker å redirigere brukeren til en styreenhet handling som krever en parameter (innenfor samme pakke).

Controller:

public function postMatchItem(Request $request, $id)
{
    $this->validate($request, [
        'item_match' => 'required|numeric|exists:item,id',
    ]);

    $spot_buy_item = SpotBuyItem::find($id);

    $item = Item::find($request->input('item_match'));

    $price = $item->getPrice();

    $spot_buy_item_response = new SpotBuyItemResponse();
    $spot_buy_item_response->spot_buy_item_id = $id;
    $spot_buy_item_response->spot_buy_id = $spot_buy_item->spot_buy_id;
    $spot_buy_item_response->item_id = $item->id;
    $spot_buy_item_response->user_id = $spot_buy_item->user_id;
    $spot_buy_item_response->spot_buy_price = $price;
    $spot_buy_item_response->created_ts = Carbon::now();
    $spot_buy_item_response->save();

    return redirect()->action('Ariel\SpotBuy\Http\Controllers\Admin\[email protected]', [$id]);
}

Handlingen i viderekoblingen er den samme banen jeg bruker i min routes.phpfil for å lede brukeren til denne kontrolleren handlingen

Rute:

Route::get('/part/{id}', 'Ariel\SpotBuy\Http\Controllers\Admin\[email protected]')->where('id', '[0-9]+');

Jeg har prøvd varianter av denne veien uten å lykkes, blant annet [email protected]som dokumentasjon antyder ( https://laravel.com/docs/5.1/responses#redirects )

Merk : Jeg fikk dette til å fungere ved å navngi min rute i routes.phpog bruke return redirect()->route('route_name', [$id]);, men jeg ønsker fortsatt å vite hvordan du skal passere en pakke kontrolleren handling til ->action()funksjonen.

Publisert på 28/01/2016 klokken 18:28
bruker
På andre språk...                            


1 svar

stemmer
5

Det prøver å få tilgang til kontrolleren fra i App\Http\Controllersnavnerommet. Kan se de har lagt det til kontrolleren navn i feil:

App\Http\Controllers\Ariel\SpotBuy\Http\Controllers\Admin\[email protected]‌​art

Du må unnslippe Arielnavnerom med \i starten:

return redirect()->action('\Ariel\SpotBuy\Http\Controllers\Admin\[email protected]', [$id]);
Svarte 28/01/2016 kl. 18:59
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more