Laravel 5.5独特的验证规则在具有不同列名的单独表上

时间:2018-04-18 14:48:04

标签: php laravel validation laravel-5 eloquent

所以我有用户和公司。用户属于一家公司。

我想验证用户注册,以便他们用于注册的business_name字段在companies表中是唯一的,目标是不允许用户创建重复的公司。

这是我的注册功能:

public function register(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'first_name' => 'required',
            'last_name' => 'required',
            'business_name' => 'required|unique:companies',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|min:6',
        ]);


        if ($validator->fails()) {
            return response()->json(['error'=>$validator->messages()], 401);
        }

}

我想要比较的字段是companies.name来检查唯一性。

这可能吗?目前它正在尝试在business_name表格中查找companies

1 个答案:

答案 0 :(得分:6)

没关系,设法搞清楚。只需要一个额外的参数来指定列名:

'business_name' => 'required|unique:companies,name',