2016-09-20 5 views
-1

В моей таблице пользователя у меня есть столбец ролей его значений «Учитель и ученик». Я хочу вставить данные, если учитель роли пользователя. В противном случае дайте сообщение «Только для учителя». Вот мой контроллер:Как проверить столбец в 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 правил валидатора срабатывать, таблицы, колонки и дополнительные условия, где. Смотрите больше определение: 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])); 
} 
Смежные вопросы