diff --git a/app/Models/PackingList.php b/app/Models/PackingList.php index 1e00ccfc..4d7fbcd2 100644 --- a/app/Models/PackingList.php +++ b/app/Models/PackingList.php @@ -58,6 +58,14 @@ class PackingList extends AbstractModel implements Transportable, Steppable, Pac return $this->hasMany(Package::class, 'packing_list_id'); } + /** + * @return HasManyDeep + */ + public function replicatedPackages(): HasManyDeep + { + return $this->hasManyDeep(Package::class, [PackingList::class.' as replica', PackingList::class], [['owner_type', 'owner_id'], ['owner_type', 'owner_id'], 'packing_list_id'], [null, null, 'id']); + return $this->hasManyDeepFromRelations($this->packingLists(), (new PackingList)->setAlias('replica')->packages()); + } /** * @return morphMany