2016-05-11 20 views
0

Ich finde mich Sachen wie dies in meinen Controllern immer wenn ich in zwei oder mehr Parameter, die miteinander verwandt sind übergeben.Laravel Model Relation Validierung in Anfrage

Zum Beispiel habe ich diese Route:

Route::patch('user/{user}/post/{post}', '[email protected]'); 

, die wie folgt zu etwas führt:

public function update(User $user, Post $post, PostRequest $request) 
{ 
    if($user->id != $post->user_id) { 
    // return with error 
    } 

    // continue 
} 

Gibt es eine Möglichkeit, die die Beziehung Validierung in der PostRequest -Klasse zu setzen?

+0

Sie haben eine benutzerdefinierte Beziehung basierte Validierung erstellen –

+0

Beitrag Check out https://laracasts.com/discuss/channels/general-discussion/laravel-5-middleware-owner gehen auf die Antwort von Martinbean – Brett

+0

Ich schlage vor, Sie einen Blick auf Autorisierung (https://laravel.com/docs/5.2/authorization) Abschnitt in Laravel docs – geoandri

Antwort

0

Ja Sie konnten mit Fehler zurückleiten. Versuchen Sie folgendes:

if($user->id != $post->user_id) { 
    return redirect()->back()->with('error', 'Something went wrong.'); 
}