Editar empresa diferente
[Finalizado Pelo Aluno]
Não é possível editar uma empresa ao não ser a empresa do usuário autenticado?
Tentei editar outra empresa e retornou o erro:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '28275307000114' for key 'tenants_cnpj_unique'
Olá, Wesley!
Tudo bem?
Se for o super admin, é possível, porque ele tem permissão full no sistema.
No seu caso, está dando erro de permissão, porque está usando cnpj duplicado, e a coluna da tabela é unique
Estou logado como SUPER ADMIN
Na migration está como: $table->string('cnpj')->unique()
No request está como: 'cnpj' => ['required', 'digits:14', "unique:tenants,cnpj,{$id},id"]
OBS: na teoria não era para permitir atualizar?
Tem o projeto no GitHub?
Quero ver a estrutura geral do projeto, tabelas e etc.
---
Sua regra de validação está correta, se não existir nenhum outro tenant (a não ser este mesmo), cujo o CNPJ é igual a "28275307000114", tem que atualizar.
Tenho o projeto no github:
https://github.com/KovalskiWeb/larafood\
Pelo que vi aqui ele passa pela Request, mas da erro no update.
Qual é o valor de $id em StoreUpdateTenant?
dd($id);
E qual é o valor de dd($this->tenant)?
---
E quando você tenta editar, informando um CNPJ diferente de "28275307000114", o que acontece?
Qual é o valor de $id em StoreUpdateTenant?
R: 2
E qual é o valor de dd($this->tenant)?
R: 2
E quando você tenta editar, informando um CNPJ diferente de "28275307000114", o que acontece?
R: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'Teste' for key 'tenants_name_unique' (SQL: update `tenants` set `cnpj` = 87549321456910, `name` = Teste, `url` = teste, `email` = [email protected], `subscription` = 2022-01-26, `expires_at` = 2022-02-02, `tenants`.`updated_at` = 2022-01-26 06:01:36 where `id` = 1)
Só da para editar a empresa que pertence ao usuário que está logado.
Eu ainda não baixei o projeto finalizado, para fazer esse teste. Irei fazer aqui e ver se retorna esse mesmo erro.
Consegui achar o problema kkkk.
Lá no TenantController no método update() eu estava sobrescrevendo a $tenant. Estava assim:
Obrigado pela atenção professor! Valeu mesmo! E o curso está excelente! Meus parabéns!
Show de bola amigo, parabéns!
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!