laravel中是否已经存在如何检查两个输入?

时间:2017-05-22 10:11:12

标签: laravel laravel-5

我有角色表。在角色表中存储新数据时,我需要检查role_name,并且role_id已经存在。怎么能检查laravel?

id role_name role_id 1 admin 1 2 user 2

RoleRequest.php

class RoleRequest extends FormRequest
{

    public function authorize()
    {
        return true;
    }


    public function rules()
    {
        return [
            'role_name' => 'required|unique:role|max:50',
            'role_id'  => 'required|unique:role|max:10'
        ];
    }
}

4 个答案:

答案 0 :(得分:4)

如果要确保数据库中的字段存在,可以使用exists验证规则执行此操作。

可以按如下方式使用:

exists:table,column

所以,例如,

public function rules()
{
    return [
        'role_name' => 'exists:roles,role_name''
    ];
}

但是,如果您想确保数据库中的字段唯一,则可以使用unique验证规则,如下所示:

public function rules()
{
    return [
        'role_name' => 'unique:roles,role_name''
    ];
}

答案 1 :(得分:0)

您可以使用唯一验证规则,但您还需要设置列名

return [
      'role_name' => 'required|unique:roles,role_name|max:50',
      'role_id'  => 'required|unique:roles,role_id|max:10'
];

答案 2 :(得分:0)

public function rules()
{
    return [
        'role_name' => 'required|max:50|unique:roles,role_name',
        'role_id'  => 'required|max:10|unique:roles,role_id'
    ];
}

答案 3 :(得分:0)

public function rules()
{
return [
    'role_name' => 'required|max:50|unique:roles,role_name',
    'role_id'  => 'required|max:10|unique:roles,role_id'
];
}