2016-09-20 2 views
-1

In meiner Benutzertabelle habe ich eine Rolle Spalte ihre Werte Teacher und Student. Ich möchte Daten als Benutzerrollenlehrer einfügen. Andernfalls geben Sie eine Nachricht "Nur für Lehrer". Hier ist mein Controller:Wie validiere ich eine Spalte in Laravel 5.2

$validator = Validator::make($request->all(), [ 
       'title' => 'required|exists:users,role==[Teacher]', 
       ]); 
       if ($validator->fails()) { 

       Flash::success('Only for Teacher'); 
       return redirect(route('works',['class_id'=>$class_id])); 
       }else{ 
       $works = new assainments(); 
       $works -> title = $text; 
       //$works -> file = $fileName; 
       $works -> class_id = $class_id; 
       $works -> users_id = Auth::user()->id; 
       $works -> save(); 
       Flash::success('Your works has been posted'); 
       return redirect(route('works',['class_id'=>$class_id])); 

Aber es funktioniert nicht. Es zeigt nur die Fehlermeldung „Nur für Lehrer“

Antwort

-1

Laravel 5.2

Die exists Prüfregeln Tabelle arbeiten, Spalte und zusätzliche, wo die Bedingungen. Siehe die weitere Definition: https://laravel.com/docs/5.2/validation#rule-exists

Aber man kann dies auf eine andere Art und Weise lösen, indem ein, wenn die Bedingung überprüft:

if(\Auth::user()->role == 'Student') 
{ 
    Flash::success('Only for Teacher'); 
    return redirect(route('works',['class_id'=>$class_id])); 
}