Variável de usuario logado
[Concluído]
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());
}
}
Olá, Roberto!
Tudo bem?
Fazendo dessa forma, usando um repository (que foi uma excelente estratégia), deu certo?
nao deu certo.
o repositorio nao reoonhece auth()->user()->credencial,
nem reconhece o usuaio auth()->user()->id
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.
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!
Parabéns amigo! =D
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!