[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
AlzClar
Criador AlzClar 26/01/2021

Boa noite, professor!

Até achei que havia aberto ticket, mas não o econtrei. Estou com esse erro tentando pegar propriedade  'tenant_id' de não objeto. Acho que descobri o erro. O erro está sendo apontado para o método getTenantIdentify(). Só que acontece isso na rota do site \SiteController@index

No método index fiz: $companies= Company::get() - que só será cadastrado (em outro controller) depois do usuário estiver cadastrado (tem que cadastrar tenant no formulário seguindo o Larafood) - mas aqui por esse controller SiteController não há usuário logado e, consequentemente, tenant_id....

Ou elimino os companies dessa rota e fico com a outra rota (admin), ou replico o código de tenant para o site.

Será?

 

 

Manager Carlos Ferreira 26/01/2021

Olá, tudo bem?

Tem o código no GitHub?

Me manda prints também (https://imgur.com/upload)

Preciso de mais detalhes para conseguir te ajudar.

No aguardo.

Carlos Ferreira
Criador AlzClar 26/01/2021

Boa noite, professor.

Lembrando que uso as mesmas Models para os dois controllers. 

 

https://imgur.com/a/yhJVze2

https://github.com/Ssr10/laravelWg

AlzClar
Manager Carlos Ferreira 26/01/2021

Tem um print do erro? Quero ver qual a rota e detalhes do erro, porque assim fica mais fácil chegar no código do erro (caso contrário perco muito tempo analisando todo o código)

Carlos Ferreira
Criador AlzClar 26/01/2021

Bom dia, professor!

Trying to get property 'tenant_id' of non-object

No gerenciadorTenant.php linha 12

O gerenciadorTenant = MenagerTenant

 

Acredito que o observero ou o cadastro de tenant para registrar esteja exigindo o 'tenant_id', mas pela rota SiteController não há o tratamento do tenant seguindo o curso Larafood. Já pela tora do admin... sim...

Eu apaguei no SiteController, nos métodos, tudo referente a company e survey (segui a aula de category do larafood) e não deu erro. E funciona direito, pois o usuário vai cadastrar a company e o survey no tenant dele. Não pode deletar, atualizar o company e survey de outro tenant...

Quando eu saio do sistema, volta a dar o erro acima, porque o home segue o sitecontrolleAch qr...o /site

Acho que é isso...

AlzClar
Manager Carlos Ferreira 26/01/2021

O seu projeto tem particularidades que vão além do curso, por isso preciso do print para te ajudar a resolver. Quero ver qual a rota e detalhes do erro!

Carlos Ferreira
Criador AlzClar 26/01/2021

Boa noite, professor!

Eu fiz print da rota e detalhes  https://imgur.com/a/jMDMWFT

No "namespace" site eu seguia o curso agência de turismo. No namespace admin, eu segui o Larafood por causa do Tenant, parando no módulo categoria. Ao invés de criar uma tabela categoria, eu usei o código relativo ao Tenant e scopo em duas tabelas minhas: company e survey. Só isso...

Não sei se os detalhes do erro atende...

AlzClar
Manager Carlos Ferreira 26/01/2021

Quero ver qual a rota e detalhes do erro (manda um print fullscreen)!

Carlos Ferreira
Criador AlzClar 26/01/2021

Boa noite, professor!

Eu fiz o print e enviei pelo https://imgur.com/a/QxvZw4G duas imagens...

Dessa forma para enviar?

Abc

AlzClar
Manager Carlos Ferreira 26/01/2021

Agora sim, um print mais mais claro, obrigado.

Tem uma incoerências nas suas rotas, veja:
Route::get('/site', 'Site\SiteController@index')->name('home');

Route::prefix('site')->middleware('auth')->group(function () {
    [...]   
});

Uma rota com o mesmo nome do grupo, ficou estranho.

-------------------

No seu GerenciadorTenant é onde está gerando exception, neste código aqui:
public function getIdentify()
{
   return auth()->user()->tenant_id;
}

É porque está recuperando o tenant_id de um user não autenticado (algum model está usando isso).

Uma "solução", seria:
public function getIdentify()
{
    if (!auth()->check())
        return null;

   return auth()->user()->tenant_id;
}

Carlos Ferreira
Criador AlzClar 26/01/2021

Boa noite, professor!

É o cara! 

Até lembro que foi falado na aula o "if "para checar...mas vi fantasmas. A toda hora kkk

Quase desisti do print... parecia tão simples que traria a informação desejada...mas traz...

Vou revisar o nome da rota... Uma parte do projeto eu segui o curso da agência de turismo, aproveitando as tabelas de estados e cidade. E o último módulo quase todo. Mas complicou na filtragem utilizando as origens e os destinos que não tinham utilidades para mim. A outra parte eu segui o Larafood. Não quis usar o adminLTE do LaraFood. Fui fazendo confusão, mas fui aprendendo ao tirar as dúvidas com o professor nota 10!

Obrigado

Já comecei outro. Laravel 8!

AlzClar
Manager Carlos Ferreira 26/01/2021

Conta comigo. TMJ!

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

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!