From 0fe4b6d3e3537bc1f0b1bc9579a779097b85a984 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 22 Jan 2022 14:18:04 +0800 Subject: [PATCH] fix duplicated bill plz problem --- app/Http/Resources/TransactionResource.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/Http/Resources/TransactionResource.php b/app/Http/Resources/TransactionResource.php index 633985cf..58175802 100644 --- a/app/Http/Resources/TransactionResource.php +++ b/app/Http/Resources/TransactionResource.php @@ -35,7 +35,13 @@ class TransactionResource extends JsonResource 'status' => (int) $this->status, 'details' => TransactionDetailResource::collection($this->transactionDetails), 'documents' => new DocumentResource($this->documents()->first()), - 'customer_booking' => new TransactionResource($this->when((int) $this->type === TransactionType::BILL, $this->booking->transactions()->payments()->complete()->where('original_amount', '=', $this->original_amount)->where('id', '<', $this->id)->orderByDesc('id')->first())), + 'customer_booking' => new TransactionResource($this->when((int) $this->type === TransactionType::BILL, function(){ + $key = 0; + $bills = $this->booking->transactions()->bills()->where('original_amount', '=', $this->original_amount)->get(); + if(count($bills) > 1){ $key = $bills->search(function($bill){ return $bill->id === $this->id; }); } + return $this->booking->transactions()->payments()->complete()->where('original_amount', '=', $this->original_amount)->skip($key)->first(); + + })), 'expires_on' => Carbon::parse($this->expires_on)->format('d-m-Y h:i:s A'), 'updated_at' => Carbon::parse($this->updated_at)->format('d-m-Y h:i:s A') ];