当用户尝试注册时,我要求他们输入组织ID,我希望对照我的“组织”表检查该组织ID并查看其是否存在。如果存在,则注册用户,如果失败,则返回错误消息。我一直在网上四处逛逛,找不到任何类似的东西。如果有人可以提供帮助,我将不胜感激。
我在默认身份验证中使用 Laravel 5.6 。
验证者:
return Validator::make($data, [
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
'org_id' => 'required|string|max:16',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
用户创建:
return User::create([
'first_name' => $data['first_name'],
'last_name' => $data['last_name'],
'org_id' => $data['org_id'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'is_active' => 1
]);
答案 0 :(得分:2)
您正在寻找Laravel验证的exists
规则:
'org_id' => 'required|string|max:16|exists:organizations,id',
规则本质上是
exists:{table},{column?}
其中table
是必需的,而column
是可选的,通常在name
(在这种情况下为org_id
)与要比较的列不同的情况下使用。
有关详细信息,请检查Documentation。