Cum pot trece un parametru la o acțiune de controler într-un pachet Laravel?

voturi
18

Într-un pachet de Laravel am făcut, vreau să redirecționeze utilizatorul la o acțiune controler care necesită un parametru (în cadrul aceluiași pachet).

Controlor:

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]);
}

Acțiunea în redirecționării este aceeași cale am folosi în meu routes.phpfișier pentru a direcționa utilizatorul către această acțiune controler

Traseu:

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

Am încercat variații ale acestui traseu , fără succes, inclusiv la [email protected]fel ca sugerează documentația ( https://laravel.com/docs/5.1/responses#redirects )

Notă : Am primit acest lucru pentru a lucra prin numirea mea în traseul routes.phpși folosind return redirect()->route('route_name', [$id]);, dar eu încă mai doresc să știe cum să treacă o acțiune controler de pachet pentru ->action()funcția.

Întrebat 28/01/2016 la 18:28
de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
5

Încearcă să acceseze controlerul din interiorul App\Http\Controllersspațiul de nume. Se poate vedea l - au adăugat la numele am controler în eroarea de:

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

Ai nevoie pentru a scăpa de Arielspațiul de nume cu o \la început:

return redirect()->action('\Ariel\SpotBuy\Http\Controllers\Admin\[email protected]', [$id]);
Publicat 28/01/2016 la 18:59
sursa de către utilizator

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