Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Chris1989's avatar

Laravel Livewire Fetch data to laravel table from Api (xml)

Im using laravel livewire , i have working api that gives me a response like:

  <bookInfo><counterVatNumber>833279</counterVatNumber>
    <issueDate>2022-02-18</issueDate><invType>2.1</invType>
    <netValue>13.9</netValue><vatAmount>3.34</vatAmount>
    <grossValue>17.24</grossValue><count>1</count>
    <minMark>4003329</minMark><maxMark>400349</maxMark>
  </bookInfo>
<bookInfo><counterVatNumber>801033279</counterVatNumber>
    <issueDate>2022-02-22</issueDate><invType>2.1</invType>
    <netValue>27.8</netValue><vatAmount>6.68</vatAmount>
    <grossValue>34.48</grossValue><count>2</count>
    <minMark>400000219</minMark><maxMark>400033326</maxMark>
  </bookInfo>

I want simply to run a foreach on blade to fetch that data like issueDate and netValue

can you help me with that because i see that data only with DD($response)

My API

	 $request = $client->GET('https://mydatapi.aade.gr/myDATA/RequestMyExpenses/?dateFrom=11/11/2021&dateTo=11/12/2022');

       
        $response = $request->getBody()->getContents();

        $reasonPhrase = $request->getReasonPhrase();

        $statusCode = $request->getStatusCode();
       
      
        if ($statusCode <= 200) {
                 dd $response;
            return $response;
        } 
        else {
            $this->dispatchBrowserEvent('alert', ['type' => 'error', 'message' => $statusCode .' '. $reasonPhrase]);
        }
    }

My render:
public function render(Request $request)
{
    $names = DB::table('customers')->groupBy('customers.id')->get();

    $data = PaymentInvoice::query()
        ->when($this->custname, function ($query) {
            $query->where('payment_invoices.customer_id', '=', $this->custname);
        })
        ->with('items')

        ->search($this->search)

        ->orderBy($this->sortBy, $this->sortDirection)

        ->paginate($this->perPage);

    return view('livewire.invoices.IncomesShow', ['invoices' => $data, 'names' => $names])

        ->extends('layouts.maindashboard')
        ->section('content');
}
0 likes
0 replies

Please or to participate in this conversation.