验证检查(如果1等于数据库中的某个值)Laravel 5

Vla*_*kic 5 php mysql laravel-5

在Laravel 5中是否有任何方法可以检查某些值是否与数据库中的值相等?

这是我尝试做的:我有表users和表用户我有额外的列admin_id.在验证中,我需要检查admin_id表单数据库是否等于1.

这是我目前的代码:

  $inputs = array(
        'projects' => Input::get('project'),
        'users'    => Input::get('workers')

    );

    $rules = array(
        'projects' => 'required',
        'users'    => 'required'
    );

    $validator = Validator::make($inputs,$rules);
    if($validator->fails()){
        return false;            
       }else{
        return true; 
    }
Run Code Online (Sandbox Code Playgroud)

Mar*_*łek 5

我不知道users这里输入了什么- 是否从users表中输入?如果是,您可以这样创建规则:

$rules = array(
        'projects' => 'required',
        'users'    => ['required', 'exists:users,id,admin_id,1']
    );
Run Code Online (Sandbox Code Playgroud)

所以,现在如果将被验证users的比赛user_idusers表所在admin_id等于1.

您还应该考虑使用Laravel 5Requests对象来验证输入.它比在Controller/Model/Repository中放置代码要干净得多.有关Requst验证的更多信息.