From 37887de61d30404c9efc1b5909e7d850ce4f5359 Mon Sep 17 00:00:00 2001 From: edmondlang Date: Sun, 31 Jul 2022 20:15:38 +0800 Subject: [PATCH] add invoice in order resources --- app/Http/Resources/OrderResource.php | 1 + app/Models/Order.php | 13 ++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/Http/Resources/OrderResource.php b/app/Http/Resources/OrderResource.php index d2c72930..bf8d8a41 100644 --- a/app/Http/Resources/OrderResource.php +++ b/app/Http/Resources/OrderResource.php @@ -46,6 +46,7 @@ class OrderResource extends JsonResource 'received_packages' => PackingListResource::collection($this->packingLists()->where('type', PackingListType::WAREHOUSE_RECEIVE_LIST)->whereHas('packages')->get()), ]; }), + 'invoices' => TransactionResource::collection($this->transactions), 'remarks' => RemarkResource::collection($this->remarks), 'created_at' => $this->created_at->format('d-m-Y') ]; diff --git a/app/Models/Order.php b/app/Models/Order.php index 352f46fb..312cd244 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -16,10 +16,13 @@ use Illuminate\Database\Eloquent\Relations\HasManyThrough; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\MorphMany; +use Staudenmeir\EloquentHasManyDeep\HasManyDeep; +use Staudenmeir\EloquentHasManyDeep\HasRelationships; class Order extends AbstractModel implements Addressable, Packable, Remarkable, Notifiable { use SoftDeletes; + use HasRelationships; protected $table = 'orders'; @@ -160,10 +163,10 @@ class Order extends AbstractModel implements Addressable, Packable, Remarkable, } /** - * @return morphMany + * @return hasManyDeep */ - // public function transactions(): morphMany - // { - // return $this->morphMany(Transaction::class, 'owner'); - // } + public function transactions(): hasManyDeep + { + return $this->hasManyDeep(Transaction::class, [PackingList::class], ['owner_id', 'owner_id'], ['id', 'id']); + } }