2016-09-20 79 views
-1

在我的用户表中,我有一个角色列其值Teacher和Student。如果用户角色老师,我想插入数据。否则,发出一条消息“仅限老师”。 这里是我的控制器:如何验证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])); 

但它不工作。它是只显示“只有教师”错误消息

回答

-1

laravel 5.2

exists验证规则的工作给定的表,列和额外的where条件。查看更多定义: https://laravel.com/docs/5.2/validation#rule-exists

但是你可以通过检查,如果条件解决这个问题的另一种方式:

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