[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Leandro Ozorio
Criador Leandro Ozorio 25/05/2022

 Error

Call to a member function getTenantByUuid() on null
Manager Carlos Ferreira 25/05/2022

Olá, Leandro!
Tudo bem?

Tem o código no GitHub?
Preciso ver com mais detalhes para conseguir te ajudar a identificar onde errou.

Carlos Ferreira
Criador Leandro Ozorio 25/05/2022
Boa tarde, tudo bem

 Eu estava aplicando, em outro projeto, não é o projeto do curso.

 getAll url:

  https://fea.capital/api/nse/billpayments

// aqui está funcionando.

Agora passando o parâmetro $transactionId

  http://https://fea.capital/api/nse/billpayments/7612628

// aqui ao tentar buscar pelo $transactionId, não obtive sucesso.
Leandro Ozorio
Criador Leandro Ozorio 25/05/2022
# Controller

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Resources\BillPaymentsResource;
use App\Services\NseService;

use Illuminate\Http\Request;

class NseController extends Controller
{
    protected $nseService;

    public function __construct(NseService $nseService)
    {
        $this->nsaService = $nseService;
    }

    public function index()
    {
        //return $this->nsaService->getAllBillPayments();
        return BillPaymentsResource::collection($this->nsaService->getAllBillPayments());
    }

    public function show($transactionId)
    {

        $billpayments = $this->nseService->getBillPaymentsByTransactionId($transactionId);

        return new BillPaymentsResource($billpayments);

    }
}
Leandro Ozorio
Criador Leandro Ozorio 25/05/2022
##########################
# Router
 
 Route::get('nse/billpayments', 'NseController@index');
Route::get('nse/billpayments/{transactionId}', 'NseController@show');
Leandro Ozorio
Criador Leandro Ozorio 25/05/2022
##########################
# Resource

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

class BillPaymentsResource extends JsonResource
{
    public function toArray($request)
    {        
        return [            
            'transactionId' => $this->transactionId,
            'assignor' => $this->assignor,
            'digitable' => $this->digitable,
            'totalUpdated' => $this->totalUpdated,
            'status' => $this->status,
            // 'date' => Carbon::parse($this->created_at)->format('d/m/Y'),
        ];
    }
}
Leandro Ozorio
Criador Leandro Ozorio 25/05/2022
##########################
# RepositoryServiceProvider
 
namespace App\Providers;

use Illuminate\Support\ServiceProvider;

use App\Repositories\Contracts\{
    NseRepositoryInterface
};

use App\Repositories\{
    NseRepository
};

class RepositoryServiceProvider extends ServiceProvider
{
    public function register()
    {
        $this->app->bind(
            NseRepositoryInterface::class,
            NseRepository::class
        );
    }

    public function boot()
    {
       
    }
}
Leandro Ozorio
Criador Leandro Ozorio 25/05/2022
##########################
# config/app.php - providers
 
 App\Providers\RepositoryServiceProvider::class,
Leandro Ozorio
Criador Leandro Ozorio 25/05/2022
##########################
# NseRepositoryInterface
 
namespace App\Repositories\Contracts;

interface NseRepositoryInterface
{
    public function getAllBillPayments();
    public function getBillPaymentsByTransactionId(string $transactionId);
}
Leandro Ozorio
Criador Leandro Ozorio 25/05/2022
##########################
# NseRepository
 
namespace App\Repositories;

use App\Models\Nbexpress;
use App\Repositories\Contracts\NseRepositoryInterface;

class NseRepository implements NseRepositoryInterface
{
    protected $entity;

    public function __construct(Nbexpress $Nbexpress)
    {
        $this->entity = $Nbexpress;
    }

    public function getAllBillPayments()
    {
        return $this->entity->all();
    }

    public function getBillPaymentsByTransactionId(string $transactionId)
    {
        return $this->entity
        ->where('transactionId', $transactionId)
        ->first();
    }

}
Leandro Ozorio
Criador Leandro Ozorio 25/05/2022
##########################
# NseService
 
namespace App\Services;

use App\Repositories\Contracts\NseRepositoryInterface;

class NseService
{
    private $repository;

    public function __construct(NseRepositoryInterface $repository)
    {
        $this->repository = $repository;
    }

    public function getAllBillPayments()
    {
        return $this->repository->getAllBillPayments();
    }

    public function getBillPaymentsByTransactionId($transactionId)
    {
        return $this->repository->getBillPaymentsByTransactionId($transactionId);
    }

}
Leandro Ozorio
Criador Leandro Ozorio 25/05/2022

Error

Call to a member function getBillPaymentsByTransactionId() on null
Leandro Ozorio
Manager Carlos Ferreira 25/05/2022

Aquele erro no método "getTenantByUuid" foi resolvido?
Pergunto, porque no código não tem esse método, nem a chamada dele em local algum.

Tem esse código no GitHub?
Se sim, compartilha comigo, porque a leitura fica mais fácil.

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

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!