Laravel验证存在于不

2022-08-30 19:29:39

基于文档。存在可以有 4 个参数:

exists:table,id,where,0

问题是,如果我想要它在哪里,该怎么办?就像哪里不是0。

$validator = Validator::make(
    array(
        'groups' => $groups
    ),
    array(
        'groups' => 'required|exists:groups,jid,parent,!=,0'
    )
);

答案 1

您可以使用unique

'email' => 'unique:users,email_address,NULL,id,account_id,1'

在上面的规则中,唯一检查中仅包含account_id为 1 的行。

http://laravel.com/docs/4.2/validation#rule-unique


答案 2

您可以使用类似如下的内容:

Validator::extend('not_exists', function($attribute, $value, $parameters)
{
    return DB::table($parameters[0])
        ->where($parameters[1], '=', $value)
        ->andWhere($parameters[2], '<>', $value)
        ->count()<1;
});

推荐