[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
renato bento pereira de souza
Criador renato bento pereira de souza 14/07/2020

Bom dia tenho a seguinte situação:

Um usuário tem uma empresa e essa empresa tem comprovantes.

na minha comprovante controle esta assim:

 

$users =  auth()->user();

$comprovantes = $this->comprovante->find($users);

return view('admin.comprovantes.index', compact('comprovantes'));

 

carregar pelo id do usuario. 

relacionamentos:

users 1 -> N empresa 1 -> N comprovantes.

A pergunta é, como exibir comprovantes por id da empresa com o usuario autenticado

 

Manager Carlos Ferreira 14/07/2020

Olá, Renato!
Tudo bem?

Esse código está errado, o método find vai filtrar pelo id recebido.

Qual colocação está certa?
Um usuário tem uma empresa e essa empresa tem comprovantes.
users 1 -> N empresa 1 -> N comprovantes.

No aguardo amigo.

Carlos Ferreira
Criador renato bento pereira de souza 14/07/2020

Bom dia realmente o codigo esta errado.

O que eu quero é que o usuario logado só veja os comprovantes relacionados a empresa dele.

 

Este é o  relacionamento esta correto

Um usuário tem uma empresa e essa empresa tem vários comprovantes.

renato bento pereira de souza
Manager Carlos Ferreira 14/07/2020

Certo.

Então no model user tem o relacionamento 1:N com empresa, certo?

// Model User
public function empresa()
{
    return $this->belongsTo(EmpresaModel::class);
}

// Model Empresa
public function users()
{
    return $this->hasMany(User::class);
}

// Model Empresa 1:N Comprovantes
public function comprovantes()
{
    return $this->hasMany(ComprovanteModel::class);
}

// Pegando o user logado:
$user = auth()->user();

// Recuperando a empresa do user:
$empresa = $user->empresa;

// Recuperando os comprovantes da empresa:
$comprovantes = $empresa->comprovantes;

Carlos Ferreira
Criador renato bento pereira de souza 14/07/2020

Cara, muito obrigado, deu certo aqui. Parabéns você compreendeu o meu raciocionio e me ajudou bastanta. valeu

 

renato bento pereira de souza
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!