From aa3d50e12561c173b581a8c6b36ccbb5bed2d2e4 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 18 Feb 2022 09:47:30 +0800 Subject: [PATCH] fix bill seeder --- app/Http/Resources/TransactionResource.php | 7 +++++++ .../UpdateTransactionBillOwnerSeeder.php | 19 ++++++------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/Http/Resources/TransactionResource.php b/app/Http/Resources/TransactionResource.php index c95021cd..4d4724b8 100644 --- a/app/Http/Resources/TransactionResource.php +++ b/app/Http/Resources/TransactionResource.php @@ -42,6 +42,13 @@ class TransactionResource extends JsonResource 'value' => (Carbon::parse($this->created_at)->addDays(3)->gt(Carbon::now()) ) ? '+' : '-' , 'duration' => Carbon::parse($this->created_at)->addDays(3)->diff(Carbon::now())->format('%d'), ], + 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(); + + })) ]; } } diff --git a/database/seeds/UpdateTransactionBillOwnerSeeder.php b/database/seeds/UpdateTransactionBillOwnerSeeder.php index 4ca20454..cd8eebcf 100644 --- a/database/seeds/UpdateTransactionBillOwnerSeeder.php +++ b/database/seeds/UpdateTransactionBillOwnerSeeder.php @@ -8,15 +8,6 @@ use Illuminate\Support\Facades\DB; class UpdateTransactionBillOwnerSeeder extends Seeder { - /** - * StatesTableSeeder constructor. - * @param FetchesCountry $fetchesCountry - */ - public function __construct() - { - - } - /** * Run the database seeds. * @@ -29,11 +20,13 @@ class UpdateTransactionBillOwnerSeeder extends Seeder $transaction = Transaction::where('type', TransactionType::BILL)->get(); foreach ($transaction as $key => $row) { - $booking = $row->booking()->first(); - $payment_trsanction = $row->booking()->first()->transactions()->payments()->complete()->where('original_amount', '=', $row->original_amount)->where('id', '<', $row->id)->orderByDesc('id')->first(); + $key = 0; + $bills = $row->booking->transactions()->bills()->where('original_amount', '=', $row->original_amount)->get(); + if(count($bills) > 1){ $key = $bills->search(function($bill)use($row){ return $bill->id === $row->id; }); } + $paymentTransaction = $row->booking->transactions()->payments()->complete()->where('original_amount', '=', $row->original_amount)->skip($key)->first(); - $row->owner_type = 'App\Models\Transaction'; - $row->owner_id = $payment_trsanction->id; + $row->owner_type = Transaction::class; + $row->owner_id = $paymentTransaction->id; $row->update(); }