[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Roberto Noya
Criador Roberto Noya 26/10/2019

Olá Equipe Especializa TI,

Tenho uma aplicação com Laravel 5.7 que acessa API de um banco através do Guzzle.

Eu criei um repositório onde preciso usar variáveis do usuário logado porém ocorre o erro "Trying to get property 'credencial' of non-object"

Quando eu insiro diretamente a credencial o codigo funciona perfeitamente. Pensei em informar a credencial no Controller porém existem vários controlers que acessa o repositorio por isso achei que seria interessante resolver isso no repositório.

Segue o repositorio:

namespace App\Repositories;

use GuzzleHttp\Client;

 

class BankSlipRepositorie

{

    protected $client;

    protected $body;    

    

    public function __construct(Client $client)

    {

        $this->client = new Client([

            'base_uri' => 'https://sandbox.pjbank.com.br/recebimentos/'.auth()->user()->credencial,

        ]);

    }    

 

    public function create($body)

    {       

        $this->body = $body;

        return $this->get("POST","transacoes",$this->body); 

    }

 

    public function get($method, $url, $body)

    {

        $response = $this->client->request($method, $url, ['form_params' => $body]);

        return json_decode($response->getBody()->getContents());    

    }

 

}

Manager Carlos Ferreira 26/10/2019

Olá, Roberto!
Tudo bem?

Fazendo dessa forma, usando um repository (que foi uma excelente estratégia), deu certo?

Carlos Ferreira
Criador Roberto Noya 26/10/2019

nao deu certo.

o repositorio nao reoonhece auth()->user()->credencial,

nem reconhece o usuaio auth()->user()->id

Roberto Noya
Manager Carlos Ferreira 26/10/2019

Certo, nem isso dá certo?
dd(auth()->check());

E isso daqui retorna o quê?
dd(auth()->user());

Normalmente isso é por conta das sessões do Laravel aplicadas no Middleware default "web". Isso acontece quando tem alguma classe que é chamada através de um Provider (normalmente).

No aguardo.

Carlos Ferreira
Criador Roberto Noya 26/10/2019

Olá Carlos,

 

Consegui resolver. Foi um equivoco meu na edição do arquivo.

Agora está tudo funcionando.

Finalmente conclui a integração com o banco PJ Bank.

Muito Obrigado!

Roberto Noya
Manager Carlos Ferreira 26/10/2019

Parabéns amigo! =D

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

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!