我在以下情况下无法运行laravel验证。
我有一个表单,其中用户正在注册自己和他的公司(empresa)。
用户和Empresa都具有'documento'属性,因此在形式上我将其称为人员文档为'cpf',为公司文档称为'documento_corp'。
事情是我需要检查一下这些是否已经注册。
我尝试了以下方法,但它给了我
找不到列:1054'where子句'中的未知列'documento_corp'(SQL:选择count(*)作为
empresas
wheredocumento_corp
= 29242509000122和(documento
= 29242509000122)的聚合)
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:6', 'confirmed'],
'phone' => ['required', 'string', 'min:10', new Telefone],
'cpf' => ['required', 'string', 'min:11', new Cpf],
'name_corp' => ['required', 'string', 'max:255'],
'email_corp' => ['required', 'string', 'email', 'max:255'],
'phone_corp' => ['required', 'string', 'min:10', new Telefone],
'documento_corp' => ['required', 'string', 'min:11', Rule::unique('empresas')->where(function($query) use ($data) {
return $query->where('documento', $data['documento_corp']);
}), new CpfOuCnpj],
'cep_corp' => ['required', 'string', 'min:8'],
'rua_corp' => ['required', 'string', 'min:5'],
'uf_corp' => ['required', 'string', 'min:2', 'max:2'],
'bairro_corp' => ['required', 'string', 'min:5'],
'cidade_corp' => ['required', 'string', 'min:2'],
]);
那我该怎么做呢?
你不能做unique:empresas,documento
吗?
语法为:unique:table,column,except,idColumn
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句