Wie kann ich einen Parameter an eine Controller-Aktion innerhalb eines Laravel Paket passieren?

stimmen
18

Innerhalb eines Laravel Pakets, das ich gemacht, ich will den Benutzer auf eine Controller-Aktion umleiten, die einen Parameter (im gleichen Paket) erfordert.

Regler:

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

Die Aktion in der Umleitung ist der gleiche Weg , den ich in meiner verwenden routes.phpDatei , um den Benutzer auf diese Controller - Aktion zu lenken

Route:

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

Ich habe versucht , Variationen dieser Weg ohne Erfolg, auch [email protected]wie die Dokumentation schlägt vor ( https://laravel.com/docs/5.1/responses#redirects )

Hinweis : Ich habe dies durch die Benennung meines Weges zur Arbeit in routes.phpund mit return redirect()->route('route_name', [$id]);, aber ich will noch wissen , wie ein Paket Controller - Aktion an die passiert ->action()Funktion.

Veröffentlicht am 28/01/2016 um 18:28
vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
5

Es wird versucht , den Controller für den Zugriff aus dem App\Http\ControllersNamespace. Kann sehen , dass sie es zu Ihrem Controller - Namen in Ihren Fehlern hinzugefügt haben:

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

Sie müssen die entkommen ArielNamensraum mit einem \am Anfang:

return redirect()->action('\Ariel\SpotBuy\Http\Controllers\Admin\[email protected]', [$id]);
Beantwortet am 28/01/2016 um 18:59
quelle vom benutzer

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