MarcosDisc
Criador MarcosDisc 04/08/2022

Olá Carlos, tranquilo?

eu implementei o método update conforme o vídeo e está apresentando erro e refiz assim:

    public function update(StoreUser $request, $id) {
        $data = $request->only(['name', 'email']);
        if($request->password) {
            $data['password'] = bcrypt($request->password);
        }
        if(!$this->service->update($id, $data)) {
            return back();
        }
        return redirect()->route('users.index');
    }

onde estava "$data['password'] = bcrypt($data['password']);" eu substitui por "$data['password'] = bcrypt($request->password);", fiz algo errado? O método pode ficar assim mesmo?

Na minha lógica o a função only só retorna os campos name e email, sendo assim ele não encontrava o campo password em bcrypt($data['password']) e minha dúvida é o pq o meu apresentou erro e na sua implementação não apresentou... 

 

Manager Carlos Ferreira 04/08/2022

Olá, Marcos!
Tudo bem?

Este if aqui, caso informe o password, ele adiciona o índice "password" no seu array $data
if ($request->password) {
    $data['password'] = bcrypt($request->password);
}

No seu caso gerou algum erro? Qual? Print por favor;

Carlos Ferreira
Criador MarcosDisc 04/08/2022

No código do vídeo e o que está no GitHub é esse:

    public function update(UpdateAdmin $request, $id)
    {
        $data = $request->only(['name', 'email']);
        if ($request->password)
            $data['password'] = bcrypt($data['password']);

        if (!$this->service->update($id, $data)) {
            return back();
        }

        return redirect()->route('admins.index');
    }

 

ou seja, não teria como adicionar um índice "password" no array usando o mesmo "=bcrypt(['password'])" que ainda não foi criado, por isso usei "=bcrypt($request->password)" ao invés de "=bcrypt(['password'])"...

 

 

 

 

MarcosDisc
Manager Carlos Ferreira 04/08/2022

Boa amigo, isso é um bug, obrigado por reportar;

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!