[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Anderson Ramos
Criador Anderson Ramos 12/11/2022

Professor, a TenantTrait funciona perfeitamente em todos os models que eu uso, retornando certinho os dados, porém, eu quero usar essa mesma trait no model de usuários, e nesse model ela retorna erro 500.. o problema esta na função getTenantIdentify(), se eu retornar o id do usuário logado diretamente funciona, quando eu mantenho return auth()->user()->tenant->id o erro 500 acontece!

Criador Anderson Ramos 12/11/2022

Professor, fiz um teste aqui sem precisar pegar o usuário logado, usando outro método do nosso Tenant, pegando diretamemte da function tenant() funciona, na verdade percebi que todass as funções do nosso managerTenant usando o método auth() retornam erro 500 quando a trait é inserida no model de usuários, ta me parecendo ser um erro de lógica, mas eu sinceramente não to conseguindo entender!

Anderson Ramos
Criador Anderson Ramos 12/11/2022

Isso funciona

public function apply(Builder $builder, Model $model)
{
$manager = new ManagerTenant;
$tenant = $manager->tenant();
$builder->where('tenant_id', $tenant->id);
}
Anderson Ramos
Criador Anderson Ramos 12/11/2022

Isso nao funciona e retorna 500

 

public function apply(Builder $builder, Model $model)
{
$tenant = new ManagerTenant;
$builder->where('tenant_id', $tenant->getTenantIdentify());
}
Anderson Ramos
Manager Carlos Ferreira 12/11/2022

Olá, Anderson!
Tudo bem?

Como está implementando este método getTenantIdentify?

Qual o valor que retorna dele?

Tem o código no GitHub?

Carlos Ferreira
Criador Anderson Ramos 12/11/2022

Tudo bem!

Estou implementando da forma que é ensinado no curso laravel multitenancy subdomain.

ai só dei um use na TenantTrait dentro da model de usuários..

eu tenho o código no github, mas não está com esse erro, vou subir uma branch com o erro! e deixo nos comentários aqui!

Anderson Ramos
Manager Carlos Ferreira 12/11/2022

Posta no GitHub por favor, que dou uma analisada geral na aplicação para pegar onde você errou. No aguardo amigo.

Carlos Ferreira
Criador Anderson Ramos 12/11/2022

Professor, segue o projeto no github,a branch que da erro 500 na rota /users é a createTenantsAdmin

https://github.com/andersoncostasr/app


Anderson Ramos
Manager Carlos Ferreira 12/11/2022

O problema é porque o Model user é usado em diversos momentos, inclusive quando o usuário ainda não está autenticado.

No caso do model de User em particular, reescreve o método boot diretamente neste model, assim você consegue aplicar um if (auth()->check()) e direcionar o comportamento.

Pegou a ideia?

Carlos Ferreira
Criador Anderson Ramos 12/11/2022

Verdade, peguei a ideia sim professor! muito obrigado! Sucesso!

Anderson Ramos
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!