Editar registros com campos UNIQUE

André Cabral Criador 09/12/2019
André Cabral

Na minha request está assim:

 'email' => 'required|unique:users,email',

Porém quando vou editar o laravel não deixa salvar informando que o email já existe.

 

 

 

 

Manager Carlos Ferreira 09/12/2019
Carlos Ferreira

Olá, André!
Tudo bem?

Em diversos cursos aqui da Academy eu demonstro como lidar com este tipo de caso.

Você está usando Form Request para validar?
Considerando que seja Form Request, o primeiro passo você deve pegar o id do registro:
$id = $this->segment(3);
// Debug: dd($id);

Depois basta deixar assim:
'email' => "required|email|unique:users,email,{$id},id",

Criador André Cabral 09/12/2019
André Cabral

Pois é, porém não está funicionando

 

 $id = $this->segment(4);

        $data = [
            'nome' => 'required|max:255',
            'document_number' => 'cnpj',
            'cep' => 'required',
            'logradouro' => 'required',
            'bairro' => 'required',
            'cidade' => 'required',
            'estado' => 'required',
            'numero' => 'required',
            'banco' => 'required',
            'agencia' => 'required',
            'conta' => 'required',
            'email' => "required|email|unique:users,email,{$id},id",
            'telefone' => 'required',

        ];

 

 

Sempre volta informando que o email já existe

 

Manager Carlos Ferreira 10/12/2019
Carlos Ferreira

E o valor desse $id, está vindo corretamente quando vai editar?
$id = $this->segment(4);
dd($id);

Criador André Cabral 10/12/2019
André Cabral

Sim está, antes em versões anteriores até funcionava mas agora não funciona como antes.

 

 

 

Manager Carlos Ferreira 11/12/2019
Carlos Ferreira

Você tem esse projeto no GitHub?
Deixa eu dá uma olhada geral e ver o que pode estar errado.

Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!