Rule::unique('users')->ignore($user->id) laravel连接来查询数据库,验证规则

laravel验证规则是相当强的,平时使用也很方便,先来说一下Rule::unique('users')->ignore($user->id)这个规则。

当然连接数据库还有一个简单的规则很好用

'email' => 'unique:users,email_address'
#这个规是则意思就是查询表users的email_address字段,与提交的email字段验证是否数据库中已经存在。


接下来是Rule类来验证

use Illuminate\Validation\Rule;

Validator::make($data, [
    'email' => [
        'required',
        Rule::unique('users')->ignore($user->id),
    ],
]);

use Illuminate\Validation\Rule;

这个类必须传入,其中unique('表名就是model中$table的值')后面的ignore是表示排除的意思查询数据库的时候生成的sql就是 and id <>$user->id。


然后就是$user->id这个对像了,这个对像它并不是一个模型对像,在这里它应该是$request->input('user_id'),它应该是这个值,或者是一个自定义的变量.



Tags php

留言(0)

评论