[英]How i could check if a value exist in any row of a specific column of a specific mysql table
[英]How can I modify this Laravel validation rule to check if in a table exist a record having this value in a column?
我是PHP的新手 ,而且在Laravel 。 我正在开发一个Laravel 5.4项目,我遇到了与验证相关的以下问题。
在过去,我创建了此验证规则(与新用户注册表单相关):
$rules = array(
'name' => 'required',
'surname' => 'required',
'login' => 'required|unique:pm_user,login',
'email' => 'required|email|confirmed|unique:pm_user,email',
'pass' => 'required|required|min:6',
'g-recaptcha-response' => 'required|captcha',
);
特别是这个rules数组包含这个规则:
'login' => 'required|unique:pm_user,login',
在我看来,这最后一条规则检查插入的登录是否仍然存在于pm_user表中(因此它确保不存在具有相同插入值的pm_user表的一行到登录列中)。
是吗? 如果我做错了断言,请纠正我。
如果它以这种方式工作,现在我的问题是如何在另一组验证规则中做相反的事情。
特别是我有另一个规则数组(定义为扩展FormRequest的类:
public function rules() {
return [
'email' => 'required|email',
'token' => 'required',
];
}
特别是我必须确保在pm_user表中存在一条记录,该记录具有名为email的列的值,该列与请求的emai字段相同。
如何更改此请求以执行此验证规则?
Laravel 5.4已经有一个内置的验证规则,称为exists
。 https://laravel.com/docs/5.4/validation#rule-exists
我想你正在寻找:
'email' => 'required|email|exists:pm_user,email'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.